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

148 lines
5.5 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 ICSROUTE2OPDAL
{
public static void AddAndEdit(List<ICSROUTE2OP> mandayInfoList, string dsconn)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (ICSROUTE2OP mandayInfo in mandayInfoList)
{
//todo
bool isNew = false;
var line = db.ICSROUTE2OP.SingleOrDefault(a => a.ID == mandayInfo.ID);
if (line == null)
{
isNew = true;
line = new ICSROUTE2OP();
line.ID = AppConfig.GetGuid();
line.ROUTEID = mandayInfo.ROUTEID;
line.OPID = mandayInfo.OPID;
}
line.ROUTECODE = mandayInfo.ROUTECODE;
line.OPCODE = mandayInfo.OPCODE;
line.OPSEQ = mandayInfo.OPSEQ;
line.OPCONTROL = mandayInfo.OPCONTROL;
line.CtrlType = mandayInfo.CtrlType;
line.OPAttr = mandayInfo.OPAttr;
line.MUSER = mandayInfo.MUSER;
line.MUSERName = mandayInfo.MUSERName;
line.MTIME = mandayInfo.MTIME;
line.WORKPOINT = mandayInfo.WORKPOINT;
if (isNew)
db.ICSROUTE2OP.InsertOnSubmit(line);
db.SubmitChanges();
}
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
public static DataTable SearchROUTE2OP(string routeid, string dsconn)
{
List<ICSROUTE2OP> returnperson = new List<ICSROUTE2OP>();
string sql = @"select OPSEQ,OPCODE,OPID
from ICSROUTE2OP
where ROUTEID='{0}' and WorkPoint='" + AppConfig.WorkPointCode + "'";
sql = string.Format(sql, routeid);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
return dt;
}
public static void deleteInfo(string dsconn, List<string> codeList)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
var lines0 = db.ICSITEM2ROUTE.Where(a => codeList.Contains(a.ROUTEID) && a.WorkPoint == AppConfig.WorkPointCode);
if (lines0.Count() != 0)
{
string routes = "";
List<ICSITEM2ROUTE> list = lines0.ToList();
for (int i = 0; i < list.Count(); i++)
{
routes += (list[i].ROUTECODE + "\r\n");
}
throw new Exception(routes + "已关联产品,不可删除");
}
var lines = db.ICSROUTE2OP.Where(a => codeList.Contains(a.ROUTEID) && codeList.Contains(a.OPID) && a.WORKPOINT == AppConfig.WorkPointCode);
db.ICSROUTE2OP.DeleteAllOnSubmit(lines);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
finally
{
db.Connection.Close();
}
}
public static void AddList(List<ICSROUTE2OP> list, string dsconn)
{
FramDataContext db = new FramDataContext(dsconn);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (ICSROUTE2OP info in list)
{
var line = db.ICSROUTE2OP.SingleOrDefault(a => a.ROUTEID == info.ROUTEID && a.OPID == info.OPID && a.WORKPOINT == AppConfig.WorkPointCode);
if (line != null)
{
throw new Exception("批量添加:途程" + info.ROUTECODE + "工序" + info.OPCODE + "重复!");
}
line = new ICSROUTE2OP();
line.ID = AppConfig.GetGuid();
line.ROUTEID = info.ROUTEID;
line.OPID = info.OPID;
line.ROUTECODE = info.ROUTECODE;
line.OPCODE = info.OPCODE;
line.OPSEQ = info.OPSEQ;
line.OPCONTROL = info.OPCONTROL;
line.CtrlType = info.CtrlType;
line.OPAttr = info.OPAttr;
line.MUSER = info.MUSER;
line.MUSERName = info.MUSERName;
line.MTIME = info.MTIME;
line.WORKPOINT = info.WORKPOINT;
db.ICSROUTE2OP.InsertOnSubmit(line);
db.SubmitChanges();
}
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
}
}