|
|
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
} }
|