From b022fb899c2ffa56acb998cba475d32dd4f1d27e Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 15 十二月 2025 16:41:13 +0800
Subject: [PATCH] 1.生产报工增加订单号(自制、外协、不良) 2.报工调整、报工审核增加订单号
---
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 268 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 225 insertions(+), 43 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 248f8f8..43d8155 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -42,8 +42,9 @@
}
if (wkshopcode != "" && wkshopcode != null)
{
- search += "and A.wkshp_code=@wkshopcode ";
- dynamicParams.Add("@wkshopcode", wkshopcode);
+ string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ search += "and A.wkshp_code in @wkshoplist ";
+ dynamicParams.Add("@wkshoplist", wkshoplist);
}
if (erpordercode != "" && erpordercode != null)
{
@@ -609,30 +610,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)
{
@@ -833,8 +851,9 @@
}
if (wkshopcode != "" && wkshopcode != null)
{
- search += "and A.wkshp_code=@wkshopcode ";
- dynamicParams.Add("@wkshopcode", wkshopcode);
+ string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ search += "and A.wkshp_code in @wkshoplist ";
+ dynamicParams.Add("@wkshoplist", wkshoplist);
}
if (mesordercode != "" && mesordercode != null)
{
@@ -848,7 +867,7 @@
}
if (saleordercode != "" && saleordercode != null)
{
- search += "and W.saleOrderCode like '%'+@saleordercode+'%' ";
+ search += "and A.saleOrderCode like '%'+@saleordercode+'%' ";
dynamicParams.Add("@saleordercode", saleordercode);
}
if (ordertype != "" && ordertype != null)
@@ -910,8 +929,8 @@
}
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
- var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,B.default_route,R.name as route_name,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,A.isstep,A.clerkuser,
+ var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.idTopInventory,A.TopInventoryCode,A.TopInventoryName,A.route_code,B.default_route,R.name as route_name,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,A.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser,
B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6,A.printcount
from TK_Wrk_Man A
left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
@@ -998,7 +1017,7 @@
}
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
- 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,
+ var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.idTopInventory,A.TopInventoryCode,A.TopInventoryName,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,S.laborbad_qty,S.materielbad_qty,
B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
from TK_Wrk_Man A
@@ -1142,8 +1161,8 @@
if (operType == "Add")
{
//鍐欏叆宸ュ崟琛�
- sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
- values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,saleOrderCode,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@saleOrderCode,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
list.Add(new
{
str = sql,
@@ -1159,6 +1178,7 @@
materiel_code = json.partcode,
route_code = route_code,
sourceid = json.sourceid == "" ? null : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ saleOrderCode=json.saleordercode,
m_po = json.sourcewo,
saleOrderDeliveryDate = json.deliverydate,
plan_startdate = json.paystartdate,
@@ -1217,7 +1237,7 @@
{
//淇敼宸ュ崟琛�
sql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
- materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
+ materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,saleOrderCode=@saleOrderCode,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
where wo_code=@wo_code";
list.Add(new
{
@@ -1231,6 +1251,7 @@
materiel_code = json.partcode,
route_code = route_code,
sourceid = json.sourceid == "" ? null : json.sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ saleOrderCode = json.saleordercode,
m_po = json.sourcewo,
saleOrderDeliveryDate = json.deliverydate,
plan_startdate = json.paystartdate,
@@ -1440,8 +1461,8 @@
{
route_code = json[i].routecode;
//鍐欏叆宸ュ崟琛�
- sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
- values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,saleOrderCode,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@saleOrderCode,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
list.Add(new
{
str = sql,
@@ -1457,6 +1478,7 @@
materiel_code = json[i].partcode,
route_code = route_code,
sourceid = json[i].sourceid == "" ? null : json[i].sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ saleOrderCode=json[i].saleordercode,
m_po = json[i].sourcewo,
saleOrderDeliveryDate = json[i].deliverydate,
plan_startdate = json[i].paystartdate,
@@ -1519,7 +1541,7 @@
route_code = json[i].routecode;
//淇敼宸ュ崟琛�
sql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
- materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
+ materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,saleOrderCode=@saleOrderCode,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
where wo_code=@wo_code";
list.Add(new
{
@@ -1533,6 +1555,7 @@
materiel_code = json[i].partcode,
route_code = route_code,
sourceid = json[i].sourceid == "" ? null : json[i].sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ saleOrderCode=json[i].saleordercode,
m_po = json[i].sourcewo,
saleOrderDeliveryDate = json[i].deliverydate,
plan_startdate = json[i].paystartdate,
@@ -2177,7 +2200,7 @@
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
- public static ToMessage MesOrderStepSearch(string wkshopcode, string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderStepSearch(string wkshopcode, string wocode,string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -2236,6 +2259,11 @@
}
}
}
+ if (orderno != "" && orderno != null)
+ {
+ search += "and B.m_po like '%'+@orderno+'%' ";
+ dynamicParams.Add("@orderno", orderno);
+ }
if (partcode != "" && partcode != null)
{
search += "and M.partcode like '%'+@partcode+'%' ";
@@ -2252,7 +2280,7 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
from TK_Wrk_Step A
@@ -2280,7 +2308,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
- public static ToMessage MesOrderWxStepSearch(string wkshopcode, string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderWxStepSearch(string wkshopcode, string wocode, string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -2339,6 +2367,11 @@
}
}
}
+ if (orderno != "" && orderno != null)
+ {
+ search += "and B.m_po like '%'+@orderno+'%' ";
+ dynamicParams.Add("@orderno", orderno);
+ }
if (partcode != "" && partcode != null)
{
search += "and M.partcode like '%'+@partcode+'%' ";
@@ -2355,7 +2388,7 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,
(select isnull(sum(fqty),0) as fqty from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
@@ -2386,7 +2419,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
- public static ToMessage MesOrderNgStepSearch(string wkshopcode, string wocode, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderNgStepSearch(string wkshopcode, string wocode, string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order)
{
var sql = "";
string search = "";
@@ -2443,6 +2476,11 @@
return mes;
}
}
+ if (orderno != "" && orderno != null)
+ {
+ search += "and B.m_po like '%'+@orderno+'%' ";
+ dynamicParams.Add("@orderno", orderno);
+ }
if (partcode != "" && partcode != null)
{
search += "and M.partcode like '%'+@partcode+'%' ";
@@ -2459,7 +2497,7 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
+ sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
from TK_Wrk_Step A
@@ -3379,7 +3417,7 @@
#region[鐢熶骇鎵ц,鎶ュ伐璋冩暣鏁版嵁鏌ヨ鎺ュ彛]
- public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+ public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code,string orderno, string partnumber, string partname, string partspec,string stepcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
@@ -3395,6 +3433,11 @@
search += "and AA.wo_code like '%'+@wo_code+'%' ";
dynamicParams.Add("@wo_code", wo_code);
}
+ if (orderno != "" && orderno != null)
+ {
+ search += "and AA.m_po like '%'+@orderno+'%' ";
+ dynamicParams.Add("@orderno", orderno);
+ }
if (partnumber != "" && partnumber != null)
{
search += "and AA.partnumber like '%'+@partnumber+'%' ";
@@ -3409,6 +3452,11 @@
{
search += "and AA.partspec like '%'+@partspec+'%' ";
dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepcode != "" && stepcode != null)
+ {
+ search += "and AA.step_code=@stepcode ";
+ dynamicParams.Add("@stepcode", stepcode);
}
if (reportuser != "" && reportuser != null)
{
@@ -3431,8 +3479,8 @@
// --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select * from(
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
- A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
+ select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
B.report_person as usercode,
STUFF((SELECT ',' + U.username
FROM TUser U
@@ -3450,8 +3498,8 @@
left join TGroup G on G.usergroupcode=B.usergroup_code
where A.style='B' and B.style='B' and M.status<>'CLOSED' and A.verify='N'
union all
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
- A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
+ select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+ A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
B.in_person as usercode,
STUFF((SELECT ',' + U.username
FROM TUser U
@@ -4381,10 +4429,122 @@
}
#endregion
+ #region[鐢熶骇鎵ц,鎶ュ伐璋冩暣鎵归噺鏀逛环鏁版嵁鎻愪氦]
+ public static ToMessage MesOrderStepPriceBatchUpdateSeave(User us, List<BatchPrice> json)
+ {
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ if (json.Count > 0)
+ {
+ // 浣跨敤Lambda琛ㄨ揪寮忓垽鏂被鍨嬪垎甯�:鍏ㄩ儴鎶ュ伐鎴栬�呭叏閮ㄦ敹鏂�
+ bool allB = json.All(p => p.type == "B");
+ bool allS = json.All(p => p.type == "S");
+ if (allB)//鍏ㄩ儴鎶ュ伐
+ {
+ //灏哃ist<BatchPrice>涓殑id瀛楁杞崲涓哄瓧绗︿覆鏁扮粍
+ string[] idArray = json.Select(bp => bp.id).ToArray();
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ伐浠�
+ sql = @"update TK_Wrk_Record set step_price=@step_price where id in @idArray and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ step_price = decimal.Parse(json[0].price),
+ idArray = idArray
+ }
+ });
+ }
+ else if (allS)//鍏ㄩ儴鏀舵枡
+ {
+ //灏哃ist<BatchPrice>涓殑id瀛楁杞崲涓哄瓧绗︿覆鏁扮粍
+ string[] idArray = json.Select(bp => bp.id).ToArray();
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ伐浠�
+ sql = @"update TK_Wrk_OutRecord set step_price=@step_price where id in @idArray and style='S'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ step_price = decimal.Parse(json[0].price),
+ idArray = idArray
+ }
+ });
+ }
+ else // 娣峰悎鎯呭喌
+ {
+ //灏哃ist<BatchPrice>涓负鎶ュ伐鐨刬d瀛楁杞崲涓哄瓧绗︿覆鏁扮粍
+ var bList = json.Where(p => p.type == "B").ToList();
+ string[] idBArray = bList.Select(bp => bp.id).ToArray();
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ伐浠�
+ sql = @"update TK_Wrk_Record set step_price=@step_price where id in @idBArray and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ step_price = decimal.Parse(json[0].price),
+ idBArray = idBArray
+ }
+ });
+ //灏哃ist<BatchPrice>涓负鏀舵枡鐨刬d瀛楁杞崲涓哄瓧绗︿覆鏁扮粍
+ var sList = json.Where(p => p.type == "S").ToList();
+ string[] idSArray = sList.Select(bp => bp.id).ToArray();
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ伐浠�
+ sql = @"update TK_Wrk_OutRecord set step_price=@step_price where id in @idSArray and style='S'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ step_price = decimal.Parse(json[0].price),
+ idSArray = idSArray
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鎵归噺淇敼宸ヤ环", "鎶ュ伐ID:" + string.Join(",",json.Select(bp => bp.id).ToArray())+",鎿嶄綔绫诲瀷:"+ string.Join(",", json.Select(bp => bp.type).ToArray()), 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;
+ }
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "璇烽�夋嫨闇�瑕佹壒閲忚皟鏁村伐浠风殑鎶ュ伐璁板綍!";
+ mes.data = null;
+ return mes;
+ }
+ return mes;
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ }
+ #endregion
+
#region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
- 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)
+ public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string orderno, 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 = "";
@@ -4404,6 +4564,11 @@
{
search += "and AA.wo_code like '%'+@wo_code+'%' ";
dynamicParams.Add("@wo_code", wo_code);
+ }
+ if (orderno != "" && orderno != null)
+ {
+ search += "and AA.m_po like '%'+@orderno+'%' ";
+ dynamicParams.Add("@orderno", orderno);
}
if (partnumber != "" && partnumber != null)
{
@@ -4446,7 +4611,7 @@
// --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select * from(
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+ select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
B.report_person as usercode,
STUFF((SELECT ',' + U.username
@@ -4465,7 +4630,7 @@
left join TGroup G on G.usergroupcode=B.usergroup_code
where A.style='B' and B.style='B' and M.status<>'CLOSED'
union all
- select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+ select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
B.in_person as usercode,
STUFF((SELECT ',' + U.username
@@ -4620,6 +4785,7 @@
#endregion
+
#region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
public static ToMessage ProductInHouseLabCode(string ordercode)
{
@@ -4663,12 +4829,26 @@
#endregion
#region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
- public static ToMessage ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+ public static ToMessage ProductInHouseOrderSearch(string issouceorder, string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
{
var dynamicParams = new DynamicParameters();
string search = "";
try
{
+ if (issouceorder != "" && issouceorder != null)
+ {
+ switch (issouceorder)
+ {
+ case "Y":
+ search += " and AA.m_po<>'' ";
+ break;
+ case "N":
+ search += " and AA.m_po='' ";
+ break;
+ default:
+ break;
+ }
+ }
if (deptno != "" && deptno != null)
{
search += "and AA.dept_code=@deptno ";
@@ -4714,7 +4894,8 @@
var sql = @"select * from(
select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
- E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate
+ E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,
+ (case when E.voucherdate is null then M.lm_date else E.voucherdate end) as voucherdate
from TK_Wrk_Record A
inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
inner join TK_Wrk_Man M on S.wo_code=M.wo_code
@@ -4727,7 +4908,8 @@
union all
select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
- E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate
+ E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,
+ (case when E.voucherdate is null then M.lm_date else E.voucherdate end) as voucherdate
from TK_Wrk_OutRecord A
inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
inner join TK_Wrk_Man M on S.wo_code=M.wo_code
--
Gitblit v1.9.3