锐腾搅拌上料功能
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.

218 lines
8.4 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSSoft.Frame.Data.Entity;
using System.Data;
using ICSSoft.Base.Config.DBHelper;
using ICSSoft.Base.Config.AppConfig;
namespace ICSSoft.Frame.Data.DAL
{
public class ICSSENDINVPLANDAL
{
#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 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;
}
}
#endregion
#region 查询工单
public static List<FormICSMOUIModel> SearchMOInfoList(string dsconn)
{
try
{
List<FormICSMOUIModel> returnmo = new List<FormICSMOUIModel>();
string sql = @"select [ID],[MOCODE],[MOMEMO],[MODESC]
from [ICSMO]
";
sql = string.Format(sql);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
foreach (DataRow dr in dt.Rows)
{
FormICSMOUIModel momodel = new FormICSMOUIModel();
momodel.ID = dr["ID"].ToString();
momodel.MOCODE = dr["MOCODE"].ToString();
momodel.MOMEMO = dr["MOMEMO"].ToString();
momodel.MODESC = dr["MODESC"].ToString();
if (!returnmo.Contains(momodel))
returnmo.Add(momodel);
}
return returnmo;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 新增和修改
public static void Add(List<FormICSSENDINVPLANUIModel> sendInfoList, string dsconn)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (FormICSSENDINVPLANUIModel sendInfo in sendInfoList)
{
bool isNew = false;
var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.ID == sendInfo.ID);
if (line == null)
{
isNew = true;
line = new ICSSENDINVPLAN();
line.ID = AppConfig.GetGuid();
line.Version = sendInfo.Version;
line.ManuDepartment = "";
line.ProjectName = "";
line.LotNo = "";
line.Exattention = "";
line.SendDate = DateTime.Now;
line.Sender = "";
line.ObjProgress = "";
}
line.PlanQty = sendInfo.PlanQty;
line.MoCode = sendInfo.mo.ID;
line.Mcode = sendInfo.item.ID;
line.WorkPoint = AppConfig.WorkPointCode;
line.MUSER = AppConfig.UserId;
line.MUSERName = AppConfig.UserName;
line.MTIME = DateTime.Now;
if (isNew)
db.ICSSENDINVPLAN.InsertOnSubmit(line);
db.SubmitChanges();
}
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
#endregion
#region 通过guid查询
public static List<FormICSSENDINVPLANUIModel> SearchSendInfoByID(string sendid, string dsconn)
{
List<FormICSSENDINVPLANUIModel> returnsend = new List<FormICSSENDINVPLANUIModel>();
string sql = @"select a.[ManuDepartment],a.[ProjectName],a.[LotNo],a.[PlanQty],a.[Exattention],a.[SendDate],a.[Sender],
a.[ObjProgress],a.[Version],
b.[ID] as bid,b.[INVCODE],b.[INVNAME],b.[INVDESC],
c.[ID] as cid,c.[MOCODE],c.[MOMEMO],c.[MODESC]
from ICSSENDINVPLAN a
left join ICSINVENTORY b on a.Mcode=b.ID
left join ICSMO c on a.MoCode=c.ID
where a.ID='{0}'";
sql = string.Format(sql, sendid);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
foreach (DataRow dr in dt.Rows)
{
FormICSSENDINVPLANUIModel sendInfo = new FormICSSENDINVPLANUIModel();
sendInfo.Version = Convert.ToDecimal(dr["Version"].ToString());
sendInfo.ManuDepartment = dr["ManuDepartment"].ToString();
sendInfo.ProjectName = dr["ProjectName"].ToString();
sendInfo.LotNo = dr["LotNo"].ToString();
sendInfo.PlanQty = Convert.ToDecimal(dr["PlanQty"].ToString());
sendInfo.Exattention = dr["Exattention"].ToString();
sendInfo.SendDate = Convert.ToDateTime(dr["SendDate"].ToString());
sendInfo.Sender = dr["Sender"].ToString();
sendInfo.ObjProgress = dr["ObjProgress"].ToString();
sendInfo.mo = new FormICSMOUIModel();
sendInfo.mo.ID = dr["cid"].ToString();
sendInfo.mo.MOCODE = dr["MOCODE"].ToString();
sendInfo.mo.MOMEMO = dr["MOMEMO"].ToString();
sendInfo.mo.MODESC = dr["MODESC"].ToString();
sendInfo.item = new FormICSINVENTORYUIModel();
sendInfo.item.ID = dr["bid"].ToString();
sendInfo.item.INVCODE = dr["INVCODE"].ToString();
sendInfo.item.INVNAME = dr["INVNAME"].ToString();
sendInfo.item.INVDESC = dr["INVDESC"].ToString();
if (!returnsend.Contains(sendInfo))
{
returnsend.Add(sendInfo);
}
}
return returnsend;
}
#endregion
#region 删除
public static void deleteInfo(List<string> sendidList, string dsconn)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
var lines = db.ICSSENDINVPLAN.Where(a => sendidList.Contains(a.ID));
db.ICSSENDINVPLAN.DeleteAllOnSubmit(lines);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
#endregion
#region 代码是否存在
public static bool IsIncluding(decimal version, string workpoint, string dsconn)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.Version == version && a.WorkPoint == workpoint);
if (line == null)
return true;
else
return false;
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
#endregion
}
}