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.
216 lines
8.4 KiB
216 lines
8.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
using System.Data;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSINVReceiptDetailDAL
|
|
{
|
|
public static List<FormICSINVENTORYUIModel> SearchItemInfoList(string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSINVENTORYUIModel> returntype = new List<FormICSINVENTORYUIModel>();
|
|
string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC]
|
|
from [ICSINVENTORY]
|
|
where INVTYPE='物料'";
|
|
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;
|
|
}
|
|
}
|
|
|
|
#region 新增和修改
|
|
public static void Add(List<FormICSINVReceiptDetailUIModel> DetailInfoList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSINVReceiptDetailUIModel info in DetailInfoList)
|
|
{
|
|
bool isNew = false;
|
|
var line = db.ICSINVReceiptDetail.SingleOrDefault(a => a.ID == info.ID);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSINVReceiptDetail();
|
|
line.ID = AppConfig.GetGuid();
|
|
line.ReceiptID = info.ReceiptID;
|
|
line.ReceiptNO = info.ReceiptNO;
|
|
line.ReceiptLine = info.ReceiptLine;
|
|
|
|
line.RECSTATUS = "新建";
|
|
line.IQCStatus = "新建";
|
|
line.MOCODE = "";
|
|
line.QualifyQTY = Convert.ToDecimal(0);
|
|
line.ACTQTY = 0;
|
|
line.RECUSER = "";
|
|
line.INVUSER = "";
|
|
line.ISINSTORAGE = "N";
|
|
}
|
|
line.ORDERNO = info.ORDERNO;
|
|
line.ORDERLINE = info.ORDERLINE;
|
|
|
|
line.MEMO = info.MEMO;
|
|
|
|
line.ITEMCODE = info.inv.INVCODE;
|
|
|
|
line.PLANQTY = info.PLANQTY;
|
|
|
|
line.VenderLotNO = info.VenderLotNO;
|
|
|
|
line.RECTIME = DateTime.Now;
|
|
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
if (isNew)
|
|
{
|
|
db.ICSINVReceiptDetail.InsertOnSubmit(line);
|
|
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
|
|
}
|
|
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
public static List<FormICSINVReceiptDetailUIModel> SearchInfoByID(string dID, string dsconn)
|
|
{
|
|
List<FormICSINVReceiptDetailUIModel> returndetail = new List<FormICSINVReceiptDetailUIModel>();
|
|
string sql = @"select a.[ID],a.[ReceiptLine],a.[ORDERNO],a.[ORDERLINE],a.[RECSTATUS],a.[IQCStatus],a.[MEMO],
|
|
b.[INVCODE],b.[INVNAME],a.[PLANQTY],a.[QualifyQTY],a.[VenderLotNO],a.[ACTQTY],
|
|
a.[RECTIME],a.[RECUSER],a.[INVUSER],a.[ISINSTORAGE],
|
|
c.[MOCODE] as cMOCODE,c.[MODESC]
|
|
from ICSINVReceiptDetail a
|
|
left join ICSINVENTORY b on b.INVCODE=a.ITEMCODE
|
|
left join ICSMO c on c.MOCODE=a.MOCODE
|
|
where a.ID='{0}'
|
|
";
|
|
sql = string.Format(sql, dID);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSINVReceiptDetailUIModel returnInfo = new FormICSINVReceiptDetailUIModel();
|
|
returnInfo.ID = dr["ID"].ToString();
|
|
returnInfo.ReceiptLine = Convert.ToInt32(dr["ReceiptLine"].ToString());
|
|
returnInfo.ORDERNO = dr["ORDERNO"].ToString();
|
|
returnInfo.ORDERLINE = Convert.ToInt32(dr["ORDERLINE"].ToString().Equals("") ? "0" : dr["ORDERLINE"].ToString());
|
|
returnInfo.RECSTATUS = dr["RECSTATUS"].ToString();
|
|
returnInfo.IQCStatus = dr["IQCStatus"].ToString();
|
|
returnInfo.MEMO = dr["MEMO"].ToString();
|
|
//returnInfo.MOCODE = dr["MOCODE"].ToString();
|
|
//returnInfo.ITEMCODE = dr["ITEMCODE"].ToString();
|
|
//string motest=dr["cMOCODE"].ToString();
|
|
//if (!motest.Equals(""))
|
|
//{
|
|
// returnInfo.mo = new FormICSMOUIModel();
|
|
// returnInfo.mo.MOCODE = dr["cMOCODE"].ToString();
|
|
// returnInfo.mo.MODESC = dr["MODESC"].ToString();
|
|
//}
|
|
returnInfo.inv = new FormICSINVENTORYUIModel();
|
|
returnInfo.inv.INVCODE = dr["INVCODE"].ToString();
|
|
returnInfo.inv.INVNAME=dr["INVNAME"].ToString();
|
|
returnInfo.PLANQTY = Convert.ToDecimal(dr["PLANQTY"].ToString());
|
|
//returnInfo.QualifyQTY = Convert.ToDecimal(dr["QualifyQTY"].ToString().Equals("") ? "0" : dr["QualifyQTY"].ToString());
|
|
returnInfo.VenderLotNO = dr["VenderLotNO"].ToString();
|
|
//returnInfo.ACTQTY = Convert.ToInt32(dr["ACTQTY"].ToString().Equals("") ? "0" : dr["ACTQTY"].ToString());
|
|
|
|
//returnInfo.RECTIME = Convert.ToDateTime(dr["RECTIME"].ToString());
|
|
//returnInfo.RECUSER = dr["RECUSER"].ToString();
|
|
//returnInfo.INVUSER = dr["INVUSER"].ToString();
|
|
//returnInfo.ISINSTORAGE = dr["ISINSTORAGE"].ToString();
|
|
if (!returndetail.Contains(returnInfo))
|
|
{
|
|
returndetail.Add(returnInfo);
|
|
}
|
|
|
|
|
|
}
|
|
return returndetail;
|
|
|
|
}
|
|
#endregion
|
|
#region 删除
|
|
public static void deleteInfo(List<string> detailIDList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSINVReceiptDetail.Where(a => detailIDList.Contains(a.ID));
|
|
db.ICSINVReceiptDetail.DeleteAllOnSubmit(lines);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
#endregion
|
|
#region 产品明细代码是否存在
|
|
public static bool IsIncluding(string Rid,int RLine, string workpoint,string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSINVReceiptDetail.SingleOrDefault(a => a.ReceiptLine == RLine && a.ReceiptID == Rid && a.WorkPoint == workpoint);
|
|
if (line == null)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|