From 1b7d474add778ac342486beccc63081e9e29f504 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 11 十一月 2022 16:45:43 +0800
Subject: [PATCH] 生产管理,修改报工保存接口,生产工单删除接口开发
---
VueWebApi/DLL/DAL/ProductionManagementDAL.cs | 179 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 141 insertions(+), 38 deletions(-)
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 1bc7550..a890be7 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -638,7 +638,7 @@
try
{
//鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
- sql = @"select * from TK_Wrk_Man where wo_code=@wocode and status='NEW' or status='ALLO'";
+ sql = @"select * from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO')";
dynamicParams.Add("@wocode", wocode);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
@@ -2426,23 +2426,23 @@
left join TUser U on B.report_person=U.usercode
left join TGroup O on U.usergroup_code=O.group_code
where A.style='B' and B.style='B'
- union all
- select A.id,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,G.org_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
- M.route_code,R.name as route_name,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,''as usergroup_code,''as usergroup_name,B.in_person as usercode,U.username,
- B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.bad_qty
- from TK_Wrk_OutRecord A
- inner join TK_Wrk_OutRecordSub B on A.id=B.m_id
- left join TK_Wrk_Man M on A.wo_code=M.wo_code
- left join TStep S on A.step_code=S.stepcode
- left join TPrteEqp_Stad T on A.materiel_code=T.materiel_code and M.route_code=T.route_code and A.step_code=T.step_code and A.wx_code=T.eqp_code
- left join TMateriel_Info P on A.materiel_code=P.partcode
- left join TOrganization G on M.wkshp_code=G.org_code
- left join TCustomer E on A.wx_code=E.code and E.btype='WX'
- left join TFlw_Rout R on M.route_code=R.code
- left join TFlw_Rtdt D on M.route_code=D.rout_code and A.step_code=D.step_code
- left join TUser U on B.in_person=U.usercode
- where A.style='S' and B.style='S'
) as AA where" + search;
+ //union all
+ //select A.id,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,G.org_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+ //M.route_code,R.name as route_name,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,'' as usergroup_code,'' as usergroup_name,B.in_person as usercode,U.username,
+ //B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.bad_qty
+ //from TK_Wrk_OutRecord A
+ //inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
+ //left join TK_Wrk_Man M on A.wo_code = M.wo_code
+ //left join TStep S on A.step_code = S.stepcode
+ //left join TPrteEqp_Stad T on A.materiel_code = T.materiel_code and M.route_code = T.route_code and A.step_code = T.step_code and A.wx_code = T.eqp_code
+ //left join TMateriel_Info P on A.materiel_code = P.partcode
+ //left join TOrganization G on M.wkshp_code = G.org_code
+ //left join TCustomer E on A.wx_code = E.code and E.btype = 'WX'
+ //left join TFlw_Rout R on M.route_code = R.code
+ //left join TFlw_Rtdt D on M.route_code = D.rout_code and A.step_code = D.step_code
+ //left join TUser U on B.in_person = U.usercode
+ //where A.style = 'S' and B.style = 'S'
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -2478,10 +2478,10 @@
for (int i = 0; i < json.Count; i++)
{
//鑷埗宸ュ簭
- if (json[i].flw_type.ToString()== "Z")
+ if (json[i].flw_type.ToString() == "Z")
{
//鏄惁棣栭亾
- if (json[i].first_choke == "Y")
+ if (json[i].first_choke == "Y")
{
decimal this_reportqty = decimal.Parse(json[i].report_qty.ToString()); //鎶ュ伐鏁伴噺(鍚堟牸)
decimal this_ngqty = decimal.Parse(json[i].ng_qty.ToString()); //涓嶈壇鏁伴噺
@@ -2493,16 +2493,16 @@
dynamicParams.Add("@id", json[i].id);
dynamicParams.Add("@step_code", json[i].step_code);
var dt = DapperHelper.selectdata(sql, dynamicParams);
- decimal notthis_reportqty =decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
//鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鎶ュ伐鏁伴噺+鏈涓嶈壇鏁伴噺+鏈鎶ュ簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤搴熸�绘暟>宸ュ崟浠诲姟鏁伴噺
decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
- if (updatereportsumqty > decimal.Parse(json[i].task_qty.ToString()))
+ if (updatereportsumqty > decimal.Parse(json[i].task_qty.ToString()))
{
mes.code = "300";
mes.count = 0;
- mes.Message = "鑷埗棣栭亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�"+ updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐鍗曚换鍔℃暟閲忥細銆�"+ json[i].task_qty.ToString() + "銆�!";
+ mes.Message = "鑷埗棣栭亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐鍗曚换鍔℃暟閲忥細銆�" + json[i].task_qty.ToString() + "銆�!";
mes.data = null;
return mes;
}
@@ -2515,11 +2515,11 @@
if (dt0.Rows.Count > 0)
{
//鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+鎶ュ簾鎬绘暟鏁伴噺<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
- decimal last_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
- if (updatereportsumqty<last_updatereportsumqty)
+ if (updatereportsumqty < last_updatereportsumqty)
{
mes.code = "300";
mes.count = 0;
@@ -2528,7 +2528,7 @@
return mes;
}
}
- //淇敼鎶ュ伐
+
}
//鏄惁鏈亾
if (json[i].last_choke == "Y")
@@ -2548,7 +2548,7 @@
decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString()); //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
//鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼鎶ュ簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤搴熸�绘暟
decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
-
+
//鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
@@ -2558,11 +2558,11 @@
if (dt0.Rows.Count > 0)
{
//鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾)>涓婇亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾)
- decimal last_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
- decimal last_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
- decimal last_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
- if (updatereportsumqty >last_updatereportsumqty)
+ if (updatereportsumqty > last_updatereportsumqty)
{
mes.code = "300";
mes.count = 0;
@@ -2571,22 +2571,125 @@
return mes;
}
}
- //淇敼鎶ュ伐
}
else //闈為閬撻潪鏈亾
- {
-
+ {
+ decimal this_reportqty = decimal.Parse(json[i].report_qty.ToString()); //鎶ュ伐鏁伴噺(鍚堟牸)
+ decimal this_ngqty = decimal.Parse(json[i].ng_qty.ToString()); //涓嶈壇鏁伴噺
+ decimal this_badqty = decimal.Parse(json[i].bad_qty.ToString()); //鎶ュ簾鏁伴噺
+ //鏌ヨ褰撳墠宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and id<>@id and step_code=@step_code";
+ dynamicParams.Add("@wo_code", json[i].wo_code);
+ dynamicParams.Add("@id", json[i].id);
+ dynamicParams.Add("@step_code", json[i].step_code);
+ var dt = DapperHelper.selectdata(sql, dynamicParams);
+ decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ decimal notthis_badqty = decimal.Parse(dt.Rows[0]["bad_qty"].ToString()); //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟
+ //鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼鎶ュ簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤搴熸�绘暟
+ decimal updatereportsumqty = this_reportqty + this_ngqty + this_badqty + notthis_reportqty + notthis_ngqty + notthis_badqty;
+ //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq-1";
+ dynamicParams.Add("@wo_code", json[i].wo_code);
+ dynamicParams.Add("@step_seq", json[i].step_seq);
+ var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count > 0)
+ {
+ //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾)>涓婇亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾)
+ decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt0.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_badqty = decimal.Parse(dt0.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
+ if (updatereportsumqty > last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鑷埗宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
+ mes.data = null;
+ return mes;
+ }
+ }
+ //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+ sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty
+ from TK_Wrk_Record where wo_code=@wo_code and style='B' and step_seq=@step_seq+1";
+ dynamicParams.Add("@wo_code", json[i].wo_code);
+ dynamicParams.Add("@step_seq", json[i].step_seq);
+ var dt1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt1.Rows.Count > 0)
+ {
+ //鍒ゆ柇褰撳墠宸ュ簭锛氭姤宸ユ�绘暟鏁伴噺+涓嶈壇鎬绘暟鏁伴噺+鎶ュ簾鎬绘暟鏁伴噺<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�+涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�+涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
+ decimal last_reportqty = decimal.Parse(dt1.Rows[0]["good_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ伐鎬绘暟閲�
+ decimal last_ngqty = decimal.Parse(dt1.Rows[0]["ng_qty"].ToString()); //涓嬮亾宸ュ簭涓嶈壇鎬绘暟閲�
+ decimal last_badqty = decimal.Parse(dt1.Rows[0]["bad_qty"].ToString()); //涓嬮亾宸ュ簭鎶ュ簾鎬绘暟閲�
+ decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_badqty;
+ if (updatereportsumqty < last_updatereportsumqty)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "鑷埗宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笅閬撳伐搴忔姤宸ユ暟閲�!";
+ mes.data = null;
+ return mes;
+ }
+ }
}
-
+
+ ///////////////////////////////淇敼鎶ュ伐//////////////////////////////
+
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曞瓙琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ sql = @"update TK_Wrk_RecordSub set report_qty=report_qty+@repair_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty
+ where m_id=@m_id and id=@id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ m_id = int.Parse(json[i].id),
+ id = int.Parse(json[i].sbid),
+ repair_qty = decimal.Parse(json[i].report_qty),
+ ng_qty = decimal.Parse(json[i].ng_qty),
+ bad_qty = decimal.Parse(json[i].bad_qty)
+ }
+ });
+ //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+ sql = @"update TK_Wrk_Record set good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty
+ where wo_code=@wo_code and step_code=@step_code and id=@id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ good_qty = decimal.Parse(json[i].report_qty),
+ ng_qty = decimal.Parse(json[i].ng_qty),
+ bad_qty = decimal.Parse(json[i].bad_qty),
+ wo_code = json[i].wo_code,
+ step_code = json[i].step_code,
+ id = int.Parse(json[i].id)
+ }
+ });
+ //鍥炲啓涓嶈壇
+ sql = @"update CSR_WorkRecord_Defect set defect_qty=defect_qty+@ng_qty
+ where wo_code=@wo_code and step_code=@step_code and record_id=@id and style='B'";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ ng_qty = decimal.Parse(json[i].ng_qty),
+ wo_code = json[i].wo_code,
+ step_code = json[i].step_code,
+ id = int.Parse(json[i].id)
+ }
+ });
}
//澶栧崗宸ュ簭
if (json[i].flw_type.ToString() == "S")
{
-
+
}
}
-
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
--
Gitblit v1.9.3