From 4931d20186936f0fa01589630e14f7848917378e Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 15 四月 2024 18:06:13 +0800
Subject: [PATCH] 1.ERP订单关闭增加单据id关联 2.MES工单关闭增加源单id关联 3.增加订单反关闭功能 4.增加工单反关闭功能
---
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 256 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 236 insertions(+), 20 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index fd29265..2630e2c 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -287,7 +287,7 @@
{
string erpordercode = group.erpordercode;
int count = 1;
- foreach (var model in obj.Where(s => s.erpordercode==erpordercode).ToList())
+ foreach (var model in obj.Where(s => s.erpordercode == erpordercode).ToList())
{
//鑾峰彇褰撳墠鏈�澶у伐鍗曞彿
sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0) as worknumb
@@ -380,30 +380,47 @@
var dynamicParams = new DynamicParameters();
try
{
- sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and status<> 'CLOSED'";
+ sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and sourceid=@sourceid";
dynamicParams.Add("@erpordercode", erpordercode);
+ dynamicParams.Add("@sourceid", erporderid);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
- mes.code = "300";
- mes.count = 0;
- mes.message = "褰撳墠璁㈠崟鏈変笅杈炬湭鍏抽棴鐨凪ES宸ュ崟,璁㈠崟涓嶅厑璁稿叧闂�,璇峰厛鍒犻櫎鎴栧叧闂浉鍏冲伐鍗�!";
- mes.data = null;
- }
- else
- {
- //鍏抽棴璁㈠崟
- sql = @"update TKimp_Ewo set status='CLOSED' where wo=@wo and id=@erporderid";
+ // 浣跨敤LINQ鍜宭ambda琛ㄨ揪寮忔潵杞崲wo_code瀛楁鐨勫�间负閫楀彿闅斿紑鐨勫瓧绗︿覆鏁扮粍
+ string[] result = data.AsEnumerable().Select(row => "" + row.Field<string>("wo_code") + "").ToArray();
+ //鍏抽棴宸ュ簭浠诲姟
+ sql = @"update TK_Wrk_Step set status='CLOSED',closebeforestatus=status where wo_code in @wocode";
list.Add(new
{
str = sql,
parm = new
{
- wo = erpordercode,
- erporderid = erporderid
+ wocode = result
+ }
+ });
+ //鍏抽棴宸ュ崟
+ sql = @"update TK_Wrk_Man set status='CLOSED',closebeforestatus=status where m_po=@erpordercode and sourceid=@sourceid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ erpordercode = erpordercode,
+ sourceid = erporderid
}
});
}
+ //鍏抽棴璁㈠崟
+ sql = @"update TKimp_Ewo set status='CLOSED',closebeforestatus=status where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid
+ }
+ });
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
@@ -419,6 +436,86 @@
mes.code = "300";
mes.count = 0;
mes.message = "璁㈠崟鍏抽棴澶辫触!";
+ 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 ReverseClosedErpOrder(string erporderid, string erpordercode, User us)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+
+ sql = @"select * from TK_Wrk_Man where m_po=@erpordercode and sourceid=@sourceid";
+ dynamicParams.Add("@erpordercode", erpordercode);
+ dynamicParams.Add("@sourceid", erporderid);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ // 浣跨敤LINQ鍜宭ambda琛ㄨ揪寮忔潵杞崲wo_code瀛楁鐨勫�间负閫楀彿闅斿紑鐨勫瓧绗︿覆鏁扮粍
+ string[] result = data.AsEnumerable().Select(row => "" + row.Field<string>("wo_code") + "").ToArray();
+ //鍏抽棴宸ュ簭浠诲姟
+ sql = @"update TK_Wrk_Step set status=closebeforestatus where wo_code in @ordercode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ ordercode = result
+ }
+ });
+ //鍏抽棴宸ュ崟
+ sql = @"update TK_Wrk_Man set status=closebeforestatus where m_po=@erpordercode and sourceid=@sourceid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ erpordercode = erpordercode,
+ sourceid = erporderid
+ }
+ });
+ }
+ //鍙嶅叧闂鍗�
+ sql = @"update TKimp_Ewo set status=closebeforestatus where wo=@wo and id=@erporderid";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo = erpordercode,
+ erporderid = erporderid
+ }
+ });
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍙嶅叧闂�", "鍙嶅叧闂簡璁㈠崟:" + erpordercode, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "璁㈠崟鍙嶅叧闂垚鍔�!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "璁㈠崟鍙嶅叧闂け璐�!";
mes.data = null;
}
}
@@ -1211,7 +1308,7 @@
var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources
from TK_Wrk_Man A
- left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
+ left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sourceid=W.id
left join TMateriel_Info B on A.materiel_code=B.partcode
left join TOrganization C on A.wkshp_code=C.torg_code
left join TSecStck D on A.stck_code=D.code
@@ -1246,10 +1343,10 @@
for (int i = 0; i < wocodelist.Length; i++)
{
//鍏抽棴宸ュ崟瀵瑰簲宸ュ簭浠诲姟
- sql = @"update TK_Wrk_Step set status='CLOSED' where wo_code in @wocode";
+ sql = @"update TK_Wrk_Step set status='CLOSED',closebeforestatus=status where wo_code in @wocode";
list.Add(new { str = sql, parm = new { wocode = wocodelist } });
//鍥炲啓宸ュ崟琛ㄧ姸鎬佷负(鍏抽棴)
- sql = @"update TK_Wrk_Man set status='CLOSED',closeuser=@username,closedate=@closedate where wo_code in @wocode";
+ sql = @"update TK_Wrk_Man set status='CLOSED',closebeforestatus=status,closeuser=@username,closedate=@closedate where wo_code in @wocode";
list.Add(new { str = sql, parm = new { wocode = wocodelist, username = us.usercode, closedate = DateTime.Now.ToString() } });
}
bool aa = DapperHelper.DoTransaction(list);
@@ -1267,6 +1364,52 @@
mes.code = "300";
mes.count = 0;
mes.message = "宸ュ崟鍏抽棴澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鎵归噺鍙嶅叧闂彁浜
+ public static ToMessage MesOrderBitchReverseClosedSeave(User us, string[] wocodelist)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ for (int i = 0; i < wocodelist.Length; i++)
+ {
+ //鍏抽棴宸ュ崟瀵瑰簲宸ュ簭浠诲姟
+ sql = @"update TK_Wrk_Step set status=closebeforestatus where wo_code in @wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocodelist } });
+ //鍥炲啓宸ュ崟琛ㄧ姸鎬佷负(鍏抽棴)
+ sql = @"update TK_Wrk_Man set status=closebeforestatus,closeuser=@username,closedate=@closedate where wo_code in @wocode";
+ list.Add(new { str = sql, parm = new { wocode = wocodelist, username = us.usercode, closedate = DateTime.Now.ToString() } });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍙嶅叧闂�", "鍏抽棴浜嗗伐鍗�:" + string.Join(",", wocodelist), us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "宸ュ崟鍙嶅叧闂垚鍔�!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "宸ュ崟鍙嶅叧闂け璐�!";
mes.data = null;
}
}
@@ -3394,12 +3537,17 @@
#region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
- public static ToMessage MesOrderStepReportVerifySearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
try
{
+ if (reviewstatus != "" && reviewstatus != null)
+ {
+ search += "and AA.verify=@reviewstatus ";
+ dynamicParams.Add("@reviewstatus", reviewstatus);
+ }
if (wkshopcode != "" && wkshopcode != null)
{
search += "and AA.wkshp_code=@wkshopcode ";
@@ -3535,9 +3683,77 @@
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
- //鍐欏叆鎿嶄綔璁板綍琛�
- LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "鑷埗鎶ュ伐璁板綍id:" + string.Join(",", json.zdata), us.usertype);
- LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "澶栧崗鏀舵枡璁板綍id:" + string.Join(",", json.wdata), us.usertype);
+ if (json.zdata.Count > 0)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "鑷埗鎶ュ伐璁板綍id:" + string.Join(",", json.zdata), us.usertype);
+ }
+ if (json.wdata.Count > 0)
+ {
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "澶栧崗鏀舵枡璁板綍id:" + string.Join(",", json.wdata), us.usertype);
+ }
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "瀹℃牳鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "瀹℃牳澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鐢熶骇鎵ц,鎶ュ伐寮冨鏁版嵁鎻愪氦]
+ public static ToMessage MesOrderStepReportNotVerifySeave(User us, string id, string steptype)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (steptype == "Z")//鑷埗宸ュ簭
+ {
+ //鍥炲啓鎶ュ伐璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_Record set verify='N',verifyuser=@verifyuser,verifydate=@verifydate where id=@id";
+ list.Add(new { str = sql, parm = new { verifyuser = "", verifydate = "", id = id } });
+ //鍥炲啓鎶ュ伐璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_RecordSub set verify='N',verifyuser=@verifyuser,verifydate=@verifydate where m_id=@id";
+ list.Add(new { str = sql, parm = new { verifyuser = "", verifydate = "", id = id } });
+ }
+ if (steptype == "W")//澶栧崗宸ュ簭
+ {
+ //鍥炲啓澶栧崗璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_OutRecord set verify='N',verifyuser=@verifyuser,verifydate=@verifydate where id=@id";
+ list.Add(new { str = sql, parm = new { verifyuser = "", verifydate = "", id = id } });
+ //鍥炲啓澶栧崗璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+ sql = @"update TK_Wrk_OutRecordSub set verify='N',verifyuser=@verifyuser,verifydate=@verifydate where m_id=@id";
+ list.Add(new { str = sql, parm = new { verifyuser = "", verifydate = "", id = id } });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ if (steptype == "Z")
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐寮冨", "鑷埗鎶ュ伐璁板綍id:" + string.Join(",", id), us.usertype);
+ }
+ if (steptype == "W")
+ {
+ LogHelper.DbOperateLog(us.usercode, "鎶ュ伐寮冨", "澶栧崗鏀舵枡璁板綍id:" + string.Join(",", id), us.usertype);
+ }
mes.code = "200";
mes.count = 0;
mes.message = "瀹℃牳鎴愬姛!";
--
Gitblit v1.9.3