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.
652 lines
27 KiB
652 lines
27 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 ICSITEM2ROUTEDAL
|
|
{
|
|
#region 新增和修改List
|
|
public static string AddList(List<FormICSITEM2ROUTEUIModel> ITEM2ROUTEInfoList, string dsconn)
|
|
{
|
|
string str = "";
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSITEM2ROUTEUIModel info in ITEM2ROUTEInfoList)
|
|
{
|
|
//校验产品是否存在
|
|
var item = db.ICSINVENTORY.SingleOrDefault(a => a.INVCODE == info.ITEMCODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (item == null)
|
|
{
|
|
str += "存货编码:" + info.ITEMCODE + " 不存在!\n";
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
info.item = new FormICSINVENTORYUIModel();
|
|
//info.item = new FormICSInventoryUIModelNew();
|
|
info.item.ID = item.ID;
|
|
info.item.INVCODE = item.INVCODE;
|
|
}
|
|
|
|
//产品是否是默认途程
|
|
var ITEMISREF = db.ICSITEM2ROUTE.Where(a => a.ITEMCODE == info.ITEMCODE && a.ISREF == "是" && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (ITEMISREF != null && ITEMISREF.Count() > 0 && info.ISREF == "是")
|
|
{
|
|
//str += "存货编码:" + info.ITEMCODE + " 已存在默认途程!\n";
|
|
//continue;
|
|
foreach (var d in ITEMISREF)
|
|
{
|
|
d.ISREF = "否";
|
|
d.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
|
|
}
|
|
db.SubmitChanges();
|
|
}
|
|
var user = db.Sys_User.Where(a => a.UserCode == info.EATTRIBUTE1 && a.WorkPointCode == AppConfig.WorkPointCode);
|
|
if (user == null)
|
|
{
|
|
str += "负责人:" + info.EATTRIBUTE1 + " 不存在!\n";
|
|
continue;
|
|
}
|
|
|
|
//校验途程是否存在
|
|
var route = db.ICSROUTE.SingleOrDefault(a => a.ROUTECODE == info.ROUTECODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (route == null)
|
|
{
|
|
str += "途程代码:" + info.ROUTECODE + " 不存在!\n";
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
info.route = new FormICSROUTEUIModel();
|
|
info.route.ID = route.ID;
|
|
info.route.ROUTECODE = route.ROUTECODE;
|
|
}
|
|
bool isNew = false;
|
|
var line = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == info.item.INVCODE && a.ROUTECODE == info.route.ROUTECODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSITEM2ROUTE();
|
|
line.ITEMID = info.item.ID;
|
|
line.ITEMCODE = info.item.INVCODE;
|
|
line.ROUTEID = info.route.ID;
|
|
line.ROUTECODE = info.route.ROUTECODE;
|
|
line.Status = "新增";
|
|
}
|
|
line.ISREF = info.ISREF;
|
|
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
if (isNew)
|
|
{
|
|
db.ICSITEM2ROUTE.InsertOnSubmit(line);
|
|
|
|
//Addop(ITEM2ROUTEInfoList, dsconn);
|
|
#region 产品途程工序
|
|
List<ICSITEMROUTE2OP> listmodel = new List<ICSITEMROUTE2OP>();
|
|
// string sql = @"select [OPID],[OPCODE],[OPSEQ],[OPCONTROL],[EATTRIBUTE1],[OPLock],ETime,Memo1 ,Memo2
|
|
// from [ICSROUTE2OP]
|
|
// where ROUTECODE='{0}'";
|
|
string sql = @"select [OPID],[OPCODE],[OPSEQ],[OPCONTROL],[OPAttr],[CtrlType],[EATTRIBUTE1] as ItemRouteMGR
|
|
from [ICSROUTE2OP]
|
|
where ROUTECODE='{0}'";
|
|
sql = string.Format(sql, info.route.ROUTECODE);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
ICSITEMROUTE2OP model = new ICSITEMROUTE2OP();
|
|
model.ITEMID = info.item.ID;
|
|
model.ITEMCODE = info.item.INVCODE;
|
|
model.ROUTEID = info.route.ID;
|
|
model.ROUTECODE = info.route.ROUTECODE;
|
|
model.OPID = dr["OPID"].ToString();
|
|
model.OPCODE = dr["OPCODE"].ToString();
|
|
model.OPSEQ = Convert.ToInt32(dr["OPSEQ"].ToString());
|
|
model.OPCONTROL = dr["OPCONTROL"].ToString();
|
|
model.OPTIONALOP = "";
|
|
model.IDMERGETYPE = "";
|
|
model.IDMERGERULE = 0;
|
|
|
|
model.RouteMGR = dr["ItemRouteMGR"].ToString();
|
|
model.CtrlType = dr["CtrlType"].ToString();
|
|
model.OPAttr = dr["OPAttr"].ToString();
|
|
|
|
model.MUSER = AppConfig.UserId;
|
|
model.MUSERName = AppConfig.UserName;
|
|
model.MTIME = DateTime.Now;
|
|
model.WorkPoint = AppConfig.WorkPointCode;
|
|
|
|
listmodel.Add(model);
|
|
}
|
|
foreach (ICSITEMROUTE2OP test in listmodel)
|
|
{
|
|
db.ICSITEMROUTE2OP.InsertOnSubmit(test);
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
|
|
}
|
|
|
|
db.Transaction.Commit();
|
|
if (string.IsNullOrEmpty(str))
|
|
str = "数据导入成功!";
|
|
return str;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public static List<FormICSINVENTORYUIModel> SearchItemInfoList(string dsconn, string invcode)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSINVENTORYUIModel> returntype = new List<FormICSINVENTORYUIModel>();
|
|
string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC]
|
|
from [ICSINVENTORY] WHERE WorkPoint='" + AppConfig.WorkPointCode + "' ";
|
|
sql = string.Format(sql, invcode);
|
|
if (!string.IsNullOrWhiteSpace(invcode))
|
|
{
|
|
sql += " AND INVCODE LIKE '%" + invcode + "%' ";
|
|
}
|
|
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;
|
|
}
|
|
}
|
|
|
|
public static List<FormICSROUTEUIModel> SearchRouteInfoList(string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSROUTEUIModel> returntype = new List<FormICSROUTEUIModel>();
|
|
string sql = @"select [ID],[ROUTECODE],[ROUTEDESC]
|
|
from [ICSROUTE] WHERE WorkPoint='" + AppConfig.WorkPointCode + "' ";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSROUTEUIModel routemodel = new FormICSROUTEUIModel();
|
|
routemodel.ID = dr["ID"].ToString();
|
|
routemodel.ROUTECODE = dr["ROUTECODE"].ToString();
|
|
routemodel.ROUTEDESC = dr["ROUTEDESC"].ToString();
|
|
if (!returntype.Contains(routemodel))
|
|
returntype.Add(routemodel);
|
|
}
|
|
return returntype;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#region 新增和修改
|
|
public static void Add(List<FormICSITEM2ROUTEUIModel> ITEM2ROUTEInfoList,bool add, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSITEM2ROUTEUIModel info in ITEM2ROUTEInfoList)
|
|
{
|
|
bool isNew = false;
|
|
string[] rv = info.route.ROUTECODE.Split('_');
|
|
string r = rv[0];
|
|
string v = "";
|
|
if (rv.Length == 2)
|
|
{
|
|
v = rv[1];
|
|
}
|
|
if (info.ISREF == "1")
|
|
{
|
|
var lineISREF = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == info.item.INVCODE && a.ROUTECODE != info.route.ROUTECODE && a.ISREF == "1" && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (lineISREF != null)
|
|
{
|
|
//throw new Exception("此产品" + info.item.INVCODE + "已有默认的工艺路线" + lineISREF.ROUTECODE);
|
|
string[] orv = lineISREF.ROUTECODE.Split('_');
|
|
string or = orv[0];
|
|
string ov = "";
|
|
if (orv.Length == 2)
|
|
{
|
|
ov = orv[1];
|
|
}
|
|
if (r == or && add)
|
|
{
|
|
//如果维护了标准工时,则把相同的工序对应的标准工时也copy
|
|
string sql = @"
|
|
INSERT INTO [dbo].[ICSEQPSTP]
|
|
([ID]
|
|
,[ITEMCODE]
|
|
,[OPCODE]
|
|
,[EQPCODE]
|
|
,[ETTRCODE]
|
|
,[STIME]
|
|
,[RTIME]
|
|
,[JiaGongTime]
|
|
,[JianYanTime]
|
|
,[TiaoJiTime]
|
|
,[JiaZhuangTime]
|
|
,[WorkPoint]
|
|
,[MUSER]
|
|
,[MUSERName]
|
|
,[MTIME]
|
|
,[EATTRIBUTE1]
|
|
,[EQPTypeCode]
|
|
,[ISREF]
|
|
,[Status]
|
|
,[OutsourcingProperties]
|
|
,[BladeModelAndBrand]
|
|
,[ToolingNo]
|
|
,[cClass]
|
|
,[cHandles]
|
|
,[cAxis]
|
|
,[cToolMagazine]
|
|
,[cMachinableProfiles]
|
|
,[cAccuracy]
|
|
,[OPLVL]
|
|
,[WTIME])
|
|
SELECT
|
|
NEWID()
|
|
,A.[ITEMCODE]
|
|
,A.[OPCODE]
|
|
,A.[EQPCODE]
|
|
,A.[ETTRCODE]
|
|
,A.[STIME]
|
|
,A.[RTIME]
|
|
,A.[JiaGongTime]
|
|
,A.[JianYanTime]
|
|
,A.[TiaoJiTime]
|
|
,A.[JiaZhuangTime]
|
|
,A.[WorkPoint]
|
|
,A.[MUSER]
|
|
,A.[MUSERName]
|
|
,A.[MTIME]
|
|
,'{2}'
|
|
,A.[EQPTypeCode]
|
|
,'是' AS [ISREF]
|
|
,A.[Status]
|
|
,A.[OutsourcingProperties]
|
|
,A.[BladeModelAndBrand]
|
|
,A.[ToolingNo]
|
|
,A.[cClass]
|
|
,A.[cHandles]
|
|
,A.[cAxis]
|
|
,A.[cToolMagazine]
|
|
,A.[cMachinableProfiles]
|
|
,A.[cAccuracy]
|
|
,A.[OPLVL]
|
|
,A.[WTIME]
|
|
FROM [dbo].[ICSEQPSTP] A
|
|
INNER JOIN dbo.ICSROUTE2OP Old ON Old.ROUTECODE=A.EATTRIBUTE1 AND Old.OPCODE=A.OPCODE
|
|
INNER JOIN dbo.ICSROUTE2OP New ON Old.OPCODE=New.OPCODE AND Old.WORKPOINT=New.WORKPOINT AND NEW.ROUTECODE='{2}'
|
|
WHERE
|
|
A.ITEMCODE='{0}' AND A.EATTRIBUTE1='{1}'
|
|
";
|
|
sql = string.Format(sql, lineISREF.ITEMCODE, lineISREF.ROUTECODE, info.route.ROUTECODE);
|
|
int res_i = db.ExecuteCommand(sql);
|
|
db.SubmitChanges();
|
|
}
|
|
lineISREF.ISREF = "0";
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
var line = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == info.item.INVCODE && a.ROUTECODE == info.route.ROUTECODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSITEM2ROUTE();
|
|
line.ITEMID = info.item.ID;
|
|
line.ITEMCODE = info.item.INVCODE;
|
|
line.ROUTEID = info.route.ID;
|
|
line.ROUTECODE = info.route.ROUTECODE;
|
|
}
|
|
line.ISREF = info.ISREF;
|
|
line.EATTRIBUTE1 = info.EATTRIBUTE1;
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
if (isNew)
|
|
{
|
|
db.ICSITEM2ROUTE.InsertOnSubmit(line);
|
|
db.SubmitChanges();
|
|
//复写至表ICSITEMROUTE2OP
|
|
//Addop(ITEM2ROUTEInfoList, db);
|
|
Addop(ITEM2ROUTEInfoList, info.EATTRIBUTE1, dsconn);
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
|
|
}
|
|
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public static void Addop(List<FormICSITEM2ROUTEUIModel> ITEM2ROUTEInfoList, FramDataContext db)
|
|
{
|
|
try
|
|
{
|
|
string routecode;
|
|
foreach (FormICSITEM2ROUTEUIModel info in ITEM2ROUTEInfoList)
|
|
{
|
|
List<ICSITEMROUTE2OP> listmodel = new List<ICSITEMROUTE2OP>();
|
|
routecode = info.route.ROUTECODE;
|
|
string sql = @"select [OPID],[OPCODE],[OPSEQ],[OPCONTROL],[OPAttr],[CtrlType],[EATTRIBUTE1]
|
|
from [ICSROUTE2OP]
|
|
where ROUTECODE='{0}' AND WorkPoint='" + AppConfig.WorkPointCode + "' ";
|
|
sql = string.Format(sql, routecode);
|
|
var list = db.ICSROUTE2OP.Context.ExecuteQuery<ICSROUTE2OP>(sql);
|
|
foreach (ICSROUTE2OP item in list)
|
|
{
|
|
ICSITEMROUTE2OP model = new ICSITEMROUTE2OP();
|
|
model.ITEMID = info.item.ID;
|
|
model.ITEMCODE = info.item.INVCODE;
|
|
model.ROUTEID = info.route.ID;
|
|
model.ROUTECODE = info.route.ROUTECODE;
|
|
model.OPID = item.OPID;
|
|
model.OPCODE = item.OPCODE;
|
|
model.OPSEQ = item.OPSEQ;
|
|
model.OPCONTROL = item.OPCONTROL;
|
|
model.OPTIONALOP = "";
|
|
model.IDMERGETYPE = "";
|
|
model.IDMERGERULE = 0;
|
|
|
|
model.RouteMGR = item.EATTRIBUTE1;//负责人
|
|
model.CtrlType = item.CtrlType;
|
|
model.OPAttr = item.OPAttr;
|
|
|
|
model.MUSER = AppConfig.UserId;
|
|
model.MUSERName = AppConfig.UserName;
|
|
model.MTIME = DateTime.Now;
|
|
model.WorkPoint = AppConfig.WorkPointCode;
|
|
|
|
listmodel.Add(model);
|
|
}
|
|
foreach (ICSITEMROUTE2OP test in listmodel)
|
|
{
|
|
db.ICSITEMROUTE2OP.InsertOnSubmit(test);
|
|
|
|
}
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("复写至ItemRoute2OP出错:" + ex.Message);
|
|
}
|
|
}
|
|
|
|
public static void Addop(List<FormICSITEM2ROUTEUIModel> ITEM2ROUTEInfoList, string ItemRouteMGR, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
string routecode;
|
|
foreach (FormICSITEM2ROUTEUIModel info in ITEM2ROUTEInfoList)
|
|
{
|
|
List<ICSITEMROUTE2OP> listmodel = new List<ICSITEMROUTE2OP>();
|
|
routecode = info.route.ROUTECODE;
|
|
string sql = @"select [OPID],[OPCODE],[OPSEQ],[OPCONTROL],[OPAttr],[CtrlType]
|
|
from [ICSROUTE2OP]
|
|
where ROUTECODE='{0}' AND WorkPoint='" + AppConfig.WorkPointCode + "' ";
|
|
sql = string.Format(sql, routecode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
ICSITEMROUTE2OP model = new ICSITEMROUTE2OP();
|
|
model.ITEMID = info.item.ID;
|
|
model.ITEMCODE = info.item.INVCODE;
|
|
model.ROUTEID = info.route.ID;
|
|
model.ROUTECODE = info.route.ROUTECODE;
|
|
model.OPID = dr["OPID"].ToString();
|
|
model.OPCODE = dr["OPCODE"].ToString();
|
|
model.OPSEQ = Convert.ToInt32(dr["OPSEQ"].ToString());
|
|
model.OPCONTROL = dr["OPCONTROL"].ToString();
|
|
model.OPTIONALOP = "";
|
|
model.IDMERGETYPE = "";
|
|
model.IDMERGERULE = 0;
|
|
|
|
model.RouteMGR = ItemRouteMGR;
|
|
model.CtrlType = dr["CtrlType"].ToString();
|
|
model.OPAttr = dr["OPAttr"].ToString();
|
|
|
|
model.MUSER = AppConfig.UserId;
|
|
model.MUSERName = AppConfig.UserName;
|
|
model.MTIME = DateTime.Now;
|
|
model.WorkPoint = AppConfig.WorkPointCode;
|
|
|
|
listmodel.Add(model);
|
|
}
|
|
foreach (ICSITEMROUTE2OP test in listmodel)
|
|
{
|
|
db.ICSITEMROUTE2OP.InsertOnSubmit(test);
|
|
|
|
}
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
#region 代码是否存在
|
|
public static bool IsIncluding(string itemCODE, string routeCODE, string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == itemCODE && a.ROUTECODE == routeCODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (line == null)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 产品是否已有使用/默认的途程
|
|
public static bool IsIncludingISREF(string itemCODE, string routeCODE, string dsconn, out string defaultRouteCODE)
|
|
{
|
|
defaultRouteCODE = routeCODE;
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == itemCODE && a.ROUTECODE != routeCODE && a.ISREF.Equals("1") && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (line == null)
|
|
{
|
|
defaultRouteCODE = routeCODE;
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
defaultRouteCODE = line.ROUTECODE;
|
|
return true;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 通过存货编码和途程代码查询
|
|
public static List<FormICSITEM2ROUTEUIModel> SearchInfoByCode(string itemCode, string routeCode, string dsconn)
|
|
{
|
|
List<FormICSITEM2ROUTEUIModel> returnir = new List<FormICSITEM2ROUTEUIModel>();
|
|
string sql = @"select a.[ISREF],b.[ID] as bID,b.[INVCODE],b.[INVNAME],b.[INVDESC],c.[ID] as cID,c.[ROUTECODE],c.[ROUTEDESC],a.EATTRIBUTE1
|
|
from ICSITEM2ROUTE as a
|
|
left join ICSINVENTORY as b on (a.ITEMID=b.ID) AND b.WorkPoint='{2}'
|
|
left join ICSROUTE as c on (a.ROUTEID=c.ID) AND c.WorkPoint='{2}'
|
|
where a.ITEMCODE='{0}' and a.ROUTECODE='{1}' AND a.WorkPoint='{2}' ";
|
|
sql = string.Format(sql, itemCode, routeCode, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSITEM2ROUTEUIModel returnInfo = new FormICSITEM2ROUTEUIModel();
|
|
returnInfo.EATTRIBUTE1 = dr["EATTRIBUTE1"].ToString();
|
|
returnInfo.ISREF = dr["ISREF"].ToString();
|
|
returnInfo.item = new FormICSINVENTORYUIModel();
|
|
returnInfo.item.ID = dr["bID"].ToString();
|
|
returnInfo.item.INVCODE = dr["INVCODE"].ToString();
|
|
returnInfo.item.INVNAME = dr["INVNAME"].ToString();
|
|
returnInfo.item.INVDESC = dr["INVDESC"].ToString();
|
|
returnInfo.route = new FormICSROUTEUIModel();
|
|
returnInfo.route.ID = dr["cID"].ToString();
|
|
returnInfo.route.ROUTECODE = dr["ROUTECODE"].ToString();
|
|
returnInfo.route.ROUTEDESC = dr["ROUTEDESC"].ToString();
|
|
if (!returnir.Contains(returnInfo))
|
|
{
|
|
returnir.Add(returnInfo);
|
|
}
|
|
|
|
|
|
}
|
|
return returnir;
|
|
|
|
}
|
|
#endregion
|
|
|
|
public static DataTable GetDetail(String itemcode, String routecode, String Appconstr)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT
|
|
a.ID,
|
|
a.RouteCode,
|
|
b.ITEMCODE
|
|
FROM
|
|
ICSMO2User a
|
|
LEFT JOIN ICSMO b ON a.MOCODE=b.MOCODE AND a.MOSEQ=b.MOSEQ AND a.WorkPoint=b.WorkPoint
|
|
where a.RouteCode='{0}' AND b.ITEMCODE='{1}' AND a.WorkPoint='" + AppConfig.WorkPointCode + "' order by a.RouteCode";
|
|
sql = string.Format(sql, routecode, itemcode);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#region 删除
|
|
public static void deleteInfo(string itemcode, string routecode, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSITEM2ROUTE.Where(a => a.ITEMCODE == itemcode && a.ROUTECODE == routecode);
|
|
db.ICSITEM2ROUTE.DeleteAllOnSubmit(lines);
|
|
|
|
var lineone = db.ICSITEMROUTE2OP.Where(a => a.ITEMCODE == itemcode && a.ROUTECODE == routecode);
|
|
db.ICSITEMROUTE2OP.DeleteAllOnSubmit(lineone);
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public static DataTable CheckOP(String ROUTECODE, String Appconstr)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT * FROM ICSROUTE2OP WHERE 1=1 AND ROUTECODE = '{0}' AND WorkPoint='" + AppConfig.WorkPointCode + "' ";
|
|
sql = string.Format(sql, ROUTECODE);
|
|
DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
//public static bool IsIncludingISREF(string itemCODE, string routeCODE, string dsconn)
|
|
//{
|
|
// FramDataContext db = new FramDataContext(dsconn);
|
|
// db.Connection.Open();
|
|
// db.Transaction = db.Connection.BeginTransaction();
|
|
// try
|
|
// {
|
|
// var line = db.ICSITEM2ROUTE.SingleOrDefault(a => a.ITEMCODE == itemCODE && a.ROUTECODE != routeCODE && a.ISREF.Equals("1") && a.WorkPoint == AppConfig.WorkPointCode);
|
|
// if (line == null)
|
|
// return true;
|
|
// else
|
|
// return false;
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// db.Transaction.Rollback();
|
|
// throw ex;
|
|
// }
|
|
//}
|
|
}
|
|
}
|