From c6183753ab694aa8840c0b7f4460c2700c1490cd Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 31 十月 2023 13:48:56 +0800
Subject: [PATCH] 1.ERP订单批量下达接口
---
VueWebApi/DLL/DAL/ProductionManagementDAL.cs | 151 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 123 insertions(+), 28 deletions(-)
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 21d1d67..d9114ec 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -22,7 +22,7 @@
#region[ERP璁㈠崟鏌ヨ]
- public static ToMessage ErpOrderSearch(string stu_torgcode,string stu_torgtypecode,string erporderstus, string erpordercode,string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
+ public static ToMessage ErpOrderSearch(string stu_torgcode, string stu_torgtypecode, string erporderstus, string erpordercode, string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
@@ -124,7 +124,7 @@
#endregion
#region[ERP璁㈠崟涓嬭揪]
- public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode,string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
+ public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
{
var sql = "";
List<object> list = new List<object>();
@@ -179,7 +179,7 @@
m_po = erpordercode,
username = username,
CreateDate = DateTime.Now.ToString(),
- saleOrderCode=saleordercode,
+ saleOrderCode = saleordercode,
saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
}
});
@@ -205,7 +205,7 @@
m_po = erpordercode,
username = username,
CreateDate = DateTime.Now.ToString(),
- saleOrderCode=saleordercode,
+ saleOrderCode = saleordercode,
saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
}
});
@@ -256,6 +256,101 @@
mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
mes.data = null;
}
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[ERP璁㈠崟鎵归噺涓嬭揪]
+ public static ToMessage MarkBatchSaveErpOrder(List<ErpOrderBatch> obj, string username)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+
+ try
+ {
+ list.Clear();
+
+ var groupedModels = obj.GroupBy(m => m.erpordercode);
+ foreach (var group in groupedModels)
+ {
+ string erpordercode = group.Key;
+ int count = 1;
+ foreach (var model in group)
+ {
+ //鑾峰彇褰撳墠鏈�澶у伐鍗曞彿
+ sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0) as worknumb
+ from TK_Wrk_Man where m_po=@erpordercode";
+ dynamicParams.Add("@erpordercode", model.erpordercode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ int num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
+ string wo = model.erpordercode + "_" + (num + count);
+ //鍐欏叆宸ュ崟琛�
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = wo,
+ wotype = "PO",
+ status = "NEW",
+ wkshp_code = model.wkshopcode,
+ plan_qty = decimal.Parse(model.erpqty), //璁㈠崟鏁伴噺
+ stck_code = model.warehousecode,
+ materiel_code = model.partcode,
+ sourceid = model.erporderid,
+ m_po = model.erpordercode,
+ username = username,
+ CreateDate = DateTime.Now.ToString(),
+ saleOrderCode = model.saleordercode,
+ saleOrderDeliveryDate = Convert.ToDateTime(model.saleOrderDeliveryDate)
+ }
+ });
+
+ //鏇存柊璁㈠崟鐘舵��
+ sql = @"update TKimp_Ewo set status='CREATED',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = model.erpordercode,
+ erporderid = model.erporderid,
+ sumqty = decimal.Parse(model.markqty),
+ saleOrderDeliveryDate = Convert.ToDateTime(model.saleOrderDeliveryDate)
+ }
+ });
+ count++;
+ }
+ }
+
+
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "鎵归噺涓嬭揪MES宸ュ崟鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鎵归噺涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
+ mes.data = null;
+ }
+
}
catch (Exception e)
{
@@ -403,7 +498,7 @@
#region[MES宸ュ崟鏌ヨ]
- public static ToMessage MesOrderSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder,string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ public static ToMessage MesOrderSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
@@ -511,7 +606,7 @@
#endregion
#region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
- public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder,string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
@@ -594,7 +689,7 @@
#endregion
#region[浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺鎺ュ彛]
- public static ToMessage PartSelectRoute(string partcode,string wkshopcode)
+ public static ToMessage PartSelectRoute(string partcode, string wkshopcode)
{
string sql = "";
var dynamicParams = new DynamicParameters();
@@ -624,7 +719,7 @@
#endregion
#region[宸ヨ壓璺嚎鏌ユ壘杞﹂棿涓嬫媺鎺ュ彛]
- public static ToMessage RouteSelectWkshop(string stu_torgcode,string stu_torgtypecode,string partcode)
+ public static ToMessage RouteSelectWkshop(string stu_torgcode, string stu_torgtypecode, string partcode)
{
string sql = "";
string search = "";
@@ -654,7 +749,7 @@
inner join TEqpInfo E on D.eqp_code=E.code
left join TOrganization F on E.wksp_code=F.org_code
left join TOrganization L on F.parent_id=L.id
- where M.materiel_code=@partcode and E.enable='Y' "+search;
+ where M.materiel_code=@partcode and E.enable='Y' " + search;
dynamicParams.Add("@partcode", partcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
@@ -726,7 +821,7 @@
#endregion
#region[宸ュ崟娲惧彂閫夋嫨宸ヨ壓璺嚎鎴栭�夋嫨鐢熶骇杞﹂棿鏃跺垽鏂粦瀹氭潯浠禲
- public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode,string is_steprice)
+ public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode, string is_steprice)
{
string sql = "";
var dynamicParams = new DynamicParameters();
@@ -1457,7 +1552,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
- public static ToMessage MesOrderStepSearch(string stu_torgcode,string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -1579,7 +1674,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
- public static ToMessage MesOrderWxStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderWxStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -1700,7 +1795,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
- public static ToMessage MesOrderNgStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderNgStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -1928,7 +2023,7 @@
#endregion
#region [鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗鍙戞枡鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
- public static ToMessage MesOrderStepStart(string OperType,string stu_torgcode, string SelectType, string orderstepqrcode)
+ public static ToMessage MesOrderStepStart(string OperType, string stu_torgcode, string SelectType, string orderstepqrcode)
{
var sql = "";
string search = "";
@@ -1957,10 +2052,10 @@
switch (OperType)
{
case "ZZ":
- mes = ScanStartReport.ZZEncodingSeach(stu_torgcode, SelectType,ordercode, stepcode);
+ mes = ScanStartReport.ZZEncodingSeach(stu_torgcode, SelectType, ordercode, stepcode);
break;
case "WX":
- mes = ScanStartReport.WXEncodingSeach(stu_torgcode,SelectType, ordercode, stepcode);
+ mes = ScanStartReport.WXEncodingSeach(stu_torgcode, SelectType, ordercode, stepcode);
break;
default:
break;
@@ -2032,7 +2127,7 @@
mes.Message = "鏌ヨ鎴愬姛!";
mes.data = data;
}
- else
+ else
{
mes.code = "300";
mes.Message = "褰撳墠宸ュ簭鏈叧鑱旂敓浜ц澶�!";
@@ -2051,7 +2146,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗哴
- public static ToMessage MesOrderStepReportSelectUserGroup(string stu_torgcode,string stu_torgtypecode,string wkshopcode)
+ public static ToMessage MesOrderStepReportSelectUserGroup(string stu_torgcode, string stu_torgtypecode, string wkshopcode)
{
string sql = "";
string search = "";
@@ -2081,7 +2176,7 @@
sql = @"select group_code,group_name from TGroup A
left join TOrganization T on A.torg_code=T.org_code
left join TOrganization as L on T.parent_id=L.id
- where 1=1 "+search;
+ where 1=1 " + search;
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -2345,7 +2440,7 @@
JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(reportuser);
//鍒ゆ柇鏄惁鏈変笉鑹暟鎹�
var groupedItems = defectobjs.GroupBy(item => item.defect_code) // 鎸夌紪鐮乧ode鍒嗙粍
- .Select(group => new { defect_code = group.Key, badqty = group.Sum(item =>Convert.ToDecimal(item.badqty)) }).ToList(); // 姹囨�绘暟閲弎ty
+ .Select(group => new { defect_code = group.Key, badqty = group.Sum(item => Convert.ToDecimal(item.badqty)) }).ToList(); // 姹囨�绘暟閲弎ty
if (groupedItems.Count <= 0)
{
ngqty = 0;
@@ -2414,14 +2509,14 @@
});
}
- if (groupedItems.Count>0)
+ if (groupedItems.Count > 0)
{
//鍐欏叆缂洪櫡璁板綍琛�
for (int i = 0; i < groupedItems.Count; i++)
{
sql = @"insert into CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date)
values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
- list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
+ list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
}
}
@@ -2492,7 +2587,7 @@
{
sql = @"insert into CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date)
values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
- list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
+ list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
}
}
@@ -2713,14 +2808,14 @@
values(@m_id,@wxcode,@in_person,@in_time,@sqty,@ng_qty,@style,@lm_user,@lm_date)";
list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), wxcode = wxcode, in_person = inuser, in_time = date, sqty = sqty, ng_qty = ngqty, style = "S", lm_user = username, lm_date = date } });
- if (groupedItems.Count>0)
+ if (groupedItems.Count > 0)
{
//鍐欏叆缂洪櫡璁板綍琛�
for (int i = 0; i < groupedItems.Count; i++)
{
sql = @"insert into CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date)
values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
- list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
+ list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
}
}
@@ -2769,7 +2864,7 @@
{
sql = @"insert into CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date)
values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
- list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
+ list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
}
}
@@ -3193,7 +3288,7 @@
#endregion
#region[宸ュ簭妫�楠�,鎻愪氦]
- public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode,string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
+ public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode, string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
{
var sql = "";
string checktypename = "";
@@ -3300,7 +3395,7 @@
#region[MES宸ュ崟鎵归噺鍏抽棴鏌ヨ]
- public static ToMessage MesOrderBitchClosedSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+ public static ToMessage MesOrderBitchClosedSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
--
Gitblit v1.9.3