You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
343 lines
14 KiB
343 lines
14 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
using System.Data;
|
|
using System.Data.Sql;
|
|
using System.Data.Linq;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSInvTransferDetailDal
|
|
{
|
|
#region AddandEdit
|
|
public static void AddandEdit(List<FormICSInvTransferDetailUIModel> ItemLot, string Appconstr)
|
|
{
|
|
FramDataContext db = new FramDataContext(Appconstr);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSInvTransferDetailUIModel Item in ItemLot)
|
|
{
|
|
bool isNew = false;
|
|
var line = db.ICSInvTransferDetail.SingleOrDefault(a => a.ID == Item.ID);
|
|
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSInvTransferDetail();
|
|
line.ID = AppConfig.GetGuid();
|
|
line.TransferID = Item.TransferID;
|
|
line.TransferNO = Item.TransferNO;
|
|
}
|
|
|
|
var codes = db.ICSInvTransferDetail.Where(a => a.TransferNO == Item.TransferNO&&a.TransferLine == Item.TransferLine && a.ID != line.ID);
|
|
if (codes.ToList().Count > 0)
|
|
{
|
|
throw new Exception("该单据单行号已存在");
|
|
|
|
}
|
|
|
|
line.TransferLine = Item.TransferLine;
|
|
line.ORDERNO = Item.ORDERNO;
|
|
line.ORDERLINE = Item.ORDERLINE;
|
|
line.TransferSTATUS = Item.TransferSTATUS;
|
|
line.MEMO = Item.MEMO;
|
|
line.ITEMCODE = Item.ITEMCODE;
|
|
line.MOCODE = Item.MOCODE;
|
|
line.PLANQTY = Convert.ToDecimal(Item.PLANQTY);
|
|
line.ACTQTY = Convert.ToDecimal(Item.ACTQTY);
|
|
line.CustomerCode = Item.CustomerCode;
|
|
|
|
line.CUSTOMERNAME = Item.CUSTOMERNAME;
|
|
line.FROMStorageCode = Item.FROMStorageCode;
|
|
line.FROMStackCode = Item.FROMStackCode;
|
|
line.TOStorageCode = Item.TOStorageCode;
|
|
line.TOStackCode = Item.TOStackCode;
|
|
line.RECEIVE = Item.RECEIVE;
|
|
line.RECEIVELINE = Item.RECEIVELINE;
|
|
line.TransferTIME =Convert.ToDateTime(Item.TransferTIME);
|
|
line.TransferUSER = Item.TransferUSER;
|
|
|
|
line.MUSER = Item.MUSER;
|
|
line.MUSERName = Item.MUSERName;
|
|
line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
line.EATTRIBUTE1 = null;
|
|
|
|
if (isNew) db.ICSInvTransferDetail.InsertOnSubmit(line);
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 通过入库转移单详细id查询
|
|
public static List<FormICSInvTransferDetailUIModel> SearchInfoByID(string guid, string dsconn)
|
|
{
|
|
List<FormICSInvTransferDetailUIModel> InvTransfer = new List<FormICSInvTransferDetailUIModel>();
|
|
string sql = @"select a.ID as ID,
|
|
b.ID as TransferID,
|
|
b.TransferNO as TransferNO,
|
|
a.TransferLine as TransferLine,
|
|
a.ORDERNO as ORDERNO,
|
|
a.ORDERLINE as ORDERLINE,
|
|
b.TransferSTATUS as TransferSTATUS,
|
|
a.MEMO as MEMO,
|
|
c.INVCODE as ITEMCODE,
|
|
d.MOCODE as MOCODE,
|
|
a.PLANQTY as PLANQTY,
|
|
a.ACTQTY as ACTQTY,
|
|
a.CustomerCode as CustomerCode,
|
|
a.CUSTOMERNAME as CUSTOMERNAME,
|
|
e.StorageCode as FROMStorageCode,
|
|
f.StackCode as FROMStackCode,
|
|
g.StorageCode as TOStorageCode,
|
|
h.StackCode as TOStackCode,
|
|
a.RECEIVE as RECEIVE,
|
|
a.RECEIVELINE as RECEIVELINE,
|
|
a.TransferTIME as TransferTIME,
|
|
a.TransferUSER as TransferUSER,
|
|
a.MUSERName as MUSERName,
|
|
a.MTIME as MTIME
|
|
|
|
from dbo.ICSInvTransferDetail a
|
|
left join ICSInvTransfer b on a.TransferID=b.ID
|
|
left join ICSINVENTORY c on a.ITEMCODE=c.INVCODE
|
|
left join ICSMO d on a.MOCODE=d.MOCODE
|
|
left join ICSStorage e on a.FROMStorageCode=e.StorageCode
|
|
left join ICSStack f on a.FROMStackCode=f.StackCode
|
|
left join ICSStorage g on a.TOStorageCode=g.StorageCode
|
|
left join ICSStack h on a.TOStackCode=h.StackCode
|
|
|
|
where a.ID='{0}'";
|
|
sql = string.Format(sql, guid);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSInvTransferDetailUIModel returnInfo = new FormICSInvTransferDetailUIModel();
|
|
returnInfo.ID = dr["ID"].ToString();
|
|
returnInfo.invtransfer = new FormICSInvTransferUIModel();
|
|
returnInfo.invtransfer.ID = dr["TransferID"].ToString();
|
|
returnInfo.invtransfer.TransferNO = dr["TransferNO"].ToString();
|
|
returnInfo.invtransfer.TransferSTATUS = dr["TransferSTATUS"].ToString();
|
|
|
|
returnInfo.TransferLine =int.Parse(dr["TransferLine"].ToString());
|
|
returnInfo.ORDERNO = dr["ORDERNO"].ToString();
|
|
returnInfo.ORDERLINE = int.Parse(dr["ORDERLINE"].ToString());
|
|
returnInfo.MEMO = dr["MEMO"].ToString();
|
|
|
|
returnInfo.inventory = new FormICSINVENTORYUIModel();
|
|
returnInfo.inventory.INVCODE = dr["ITEMCODE"].ToString();
|
|
|
|
returnInfo.mo = new FormICSMOUIModel();
|
|
returnInfo.mo.MOCODE = dr["MOCODE"].ToString();
|
|
|
|
returnInfo.storage1 = new FormICSStorageUIModel();
|
|
returnInfo.storage1.StorageCode = dr["FROMStorageCode"].ToString();
|
|
returnInfo.storage2 = new FormICSStorageUIModel();
|
|
returnInfo.storage2.StorageCode = dr["TOStorageCode"].ToString();
|
|
|
|
returnInfo.stack1 = new FormICSStackUIModel();
|
|
returnInfo.stack1.StackCode = dr["FROMStackCode"].ToString();
|
|
returnInfo.stack2 = new FormICSStackUIModel();
|
|
returnInfo.stack2.StackCode = dr["TOStackCode"].ToString();
|
|
|
|
returnInfo.PLANQTY =Convert.ToDecimal(dr["PLANQTY"].ToString());
|
|
returnInfo.ACTQTY = Convert.ToDecimal(dr["ACTQTY"].ToString());
|
|
|
|
returnInfo.CustomerCode = dr["CustomerCode"].ToString();
|
|
returnInfo.CUSTOMERNAME = dr["CUSTOMERNAME"].ToString();
|
|
returnInfo.RECEIVE = dr["RECEIVE"].ToString();
|
|
returnInfo.RECEIVELINE = dr["RECEIVELINE"].ToString();
|
|
returnInfo.TransferTIME =Convert.ToDateTime(dr["TransferTIME"].ToString());
|
|
returnInfo.TransferUSER = dr["TransferUSER"].ToString();
|
|
|
|
returnInfo.MUSERName = dr["MUSERName"].ToString();
|
|
returnInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
|
|
|
|
if (!InvTransfer.Contains(returnInfo))
|
|
{
|
|
InvTransfer.Add(returnInfo);
|
|
}
|
|
}
|
|
return InvTransfer;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region delete
|
|
public static void delete(List<String> guidList)
|
|
{
|
|
FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSInvTransferDetail.Where(a => guidList.Contains(a.ID));
|
|
//var line = db.ICSRES.Where(a => codeList.Contains(a.DCTCODE));
|
|
//if (line.Count() != 0)
|
|
//{
|
|
// throw new Exception("DCT指令在资源维护已经使用,无法删除!");
|
|
//}
|
|
db.ICSInvTransferDetail.DeleteAllOnSubmit(lines);
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 查询物料信息
|
|
public static List<FormICSINVENTORYUIModel> SearchItemInfoList(string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSINVENTORYUIModel> returntype = new List<FormICSINVENTORYUIModel>();
|
|
string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC]
|
|
from [ICSINVENTORY]
|
|
where 1=1";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSINVENTORYUIModel itemmodel = new FormICSINVENTORYUIModel();
|
|
itemmodel.ID = dr["ID"].ToString();
|
|
itemmodel.INVCODE = dr["INVCODE"].ToString();
|
|
itemmodel.INVNAME = dr["INVNAME"].ToString();
|
|
itemmodel.INVDESC = dr["INVDESC"].ToString();
|
|
if (!returntype.Contains(itemmodel))
|
|
returntype.Add(itemmodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 查询工单信息
|
|
public static List<FormICSMOUIModel> SearchMOInfoList(string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSMOUIModel> returntype = new List<FormICSMOUIModel>();
|
|
string sql = @"select [ID],[MOCODE],[MOMEMO]
|
|
from [ICSMO]
|
|
where 1=1";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSMOUIModel itemmodel = new FormICSMOUIModel();
|
|
itemmodel.ID = dr["ID"].ToString();
|
|
itemmodel.MOCODE = dr["MOCODE"].ToString();
|
|
itemmodel.MOMEMO = dr["MOMEMO"].ToString();
|
|
if (!returntype.Contains(itemmodel))
|
|
returntype.Add(itemmodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 查询库别信息
|
|
public static List<FormICSStorageUIModel> SearchStorageInfoList(string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSStorageUIModel> returntype = new List<FormICSStorageUIModel>();
|
|
string sql = @"select [Serial],[StorageCode],[StorageName]
|
|
from [ICSStorage]
|
|
where 1=1";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSStorageUIModel itemmodel = new FormICSStorageUIModel();
|
|
itemmodel.Serial = dr["Serial"].ToString();
|
|
itemmodel.StorageCode = dr["StorageCode"].ToString();
|
|
itemmodel.StorageName = dr["StorageName"].ToString();
|
|
if (!returntype.Contains(itemmodel))
|
|
returntype.Add(itemmodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 根据库别代码查询库别id
|
|
public static DataTable SelectStorageID(string storagecode)
|
|
{
|
|
string sql = @"select Serial
|
|
from dbo.ICSStorage
|
|
where StorageCode='" + storagecode + "'";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 查询库位信息
|
|
public static List<FormICSStackUIModel> SearchStackInfoList(string storageid, string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSStackUIModel> returntype = new List<FormICSStackUIModel>();
|
|
string sql = @"select [Serial],[StackCode],[StackName]
|
|
from [ICSStack]
|
|
where Storage_Serial='" + storageid + "'";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSStackUIModel itemmodel = new FormICSStackUIModel();
|
|
itemmodel.Serial = dr["Serial"].ToString();
|
|
itemmodel.StackCode = dr["StackCode"].ToString();
|
|
itemmodel.StackName = dr["StackName"].ToString();
|
|
if (!returntype.Contains(itemmodel))
|
|
returntype.Add(itemmodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|