From 32c0daf9a78039004bb6c39d578f7734f13d54b1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 10 十月 2023 10:54:47 +0800
Subject: [PATCH] 1.工单派发校验工价,工价未提前设置或设置部分,如果开关关闭时,不校验是否未设置 或者未设置全,工价复制表中都会写入,没有设置的工价就默认0 如果开关打开就必须要设置工价
---
VueWebApi/Tools/ScanStartReport.cs | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 154 insertions(+), 18 deletions(-)
diff --git a/VueWebApi/Tools/ScanStartReport.cs b/VueWebApi/Tools/ScanStartReport.cs
index 0a8dd4e..979d022 100644
--- a/VueWebApi/Tools/ScanStartReport.cs
+++ b/VueWebApi/Tools/ScanStartReport.cs
@@ -17,10 +17,12 @@
/// <summary>
/// 鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
/// </summary>
+ /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
+ /// <param name="SelectType">璁惧缂栫爜</param>
/// <param name="ordercode">宸ュ崟缂栧彿</param>
/// <param name="stepcode">宸ュ簭缂栫爜</param>
/// <returns></returns>
- public static ToMessage ZZEncodingSeach(string ordercode, string stepcode)
+ public static ToMessage ZZEncodingSeach(string stu_torgcode, string SelectType, string ordercode, string stepcode)
{
var sql = "";
string flwtype = ""; //宸ュ簭灞炴��
@@ -32,7 +34,34 @@
var dynamicParams = new DynamicParameters();
try
{
-
+ //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stu_torgcode", stu_torgcode);
+ var da0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (da0.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
+ mes.data = null;
+ return mes;
+ }
+
+ //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stu_torgcode", stu_torgcode);
+ var da1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (da1.Rows.Count<=0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
+ mes.data = null;
+ return mes;
+ }
+
//1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name
from TK_Wrk_Step A
@@ -88,6 +117,7 @@
mes.data = null;
return mes;
}
+
switch (flwtype)
{
case "Z": //鑷埗宸ュ簭
@@ -96,9 +126,10 @@
//1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�
sql = @"select * from TK_Wrk_Record R
left join TEqpInfo E on R.eqp_code=E.code
- where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
+ where R.wo_code=@ordercode and R.step_code=@stepcode and eqp_code=@eqp_code and R.style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
+ dynamicParams.Add("@eqp_code", SelectType);
var data0 = DapperHelper.selectdata(sql, dynamicParams);
if (data0.Rows.Count > 0) //鏈夊紑宸ヨ褰�
{
@@ -177,9 +208,10 @@
//1.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁寮�宸ヨ褰�
sql = @"select * from TK_Wrk_Record R
left join TEqpInfo E on R.eqp_code=E.code
- where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
+ where R.wo_code=@ordercode and R.step_code=@stepcode and eqp_code=@eqp_code and R.style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
+ dynamicParams.Add("@eqp_code", SelectType);
var data1 = DapperHelper.selectdata(sql, dynamicParams);
if (data1.Rows.Count > 0)//鏈亾鏈夊紑宸ヨ褰�
{
@@ -215,6 +247,14 @@
}
else
{
+ if (sgood_qty == null || sgood_qty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -261,6 +301,14 @@
}
else
{
+ if (sqty == null || sqty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -294,9 +342,16 @@
var data3 = DapperHelper.selectdata(sql, dynamicParams);
if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
{
- decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
+ decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //涓婇亾鎶ュ伐鎬绘暟閲�
decimal sybqty = sgood_qty; //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
-
+ if (sgood_qty == null || sgood_qty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -328,7 +383,14 @@
{
decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
decimal sybqty = sqty; //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
-
+ if (sqty == null || sqty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -362,13 +424,20 @@
var data2 = DapperHelper.selectdata(sql, dynamicParams);
if (data2.Rows.Count > 0) //涓婂埌宸ュ簭鏈夋姤宸�
{
- string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
- string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// 涓嶈壇鏁伴噺
- string bad_qty = data2.Rows[0]["BAD_QTY"].ToString();// 鎶ュ簾鏁伴噺
-
+ decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();//鎶ュ伐鏁伴噺
+ decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
+ decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
+ if (good_qty == null || good_qty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
- rt.startqty = decimal.Parse(good_qty); //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鏁伴噺)
- rt.noreportqty = decimal.Parse(good_qty); //鏈姤鏁伴噺=(涓婁竴閬撶殑鎶ュ伐鏁伴噺)
+ rt.startqty = good_qty; //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
+ rt.noreportqty = good_qty; //鏈姤鏁伴噺=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
rt.reportqty = 0; //宸叉姤鏁伴噺
mes.code = "200";
mes.count = 0;
@@ -396,7 +465,14 @@
decimal sqty = data2.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏀舵枡鏁伴噺
decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
-
+ if (sqty == null || sqty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = sqty; //寮�宸ユ暟閲�=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
rt.noreportqty = sqty; //鏈姤鏁伴噺=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
@@ -455,11 +531,12 @@
/// <summary>
/// 鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
/// </summary>
- /// <param name="OperType">鎿嶄綔绫诲瀷</param>
+ /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
+ /// <param name="SelectType">鎿嶄綔绫诲瀷</param>
/// <param name="ordercode">宸ュ崟缂栧彿</param>
/// <param name="stepcode">宸ュ簭缂栫爜</param>
/// <returns></returns>
- public static ToMessage WXEncodingSeach(string SelectType, string ordercode, string stepcode)
+ public static ToMessage WXEncodingSeach(string stu_torgcode, string SelectType, string ordercode, string stepcode)
{
var sql = "";
string flwtype = ""; //宸ュ簭灞炴��
@@ -471,6 +548,34 @@
var dynamicParams = new DynamicParameters();
try
{
+ //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stu_torgcode", stu_torgcode);
+ var da0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (da0.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
+ mes.data = null;
+ return mes;
+ }
+
+ //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
+ sql = @"select * from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
+ dynamicParams.Add("@ordercode", ordercode);
+ dynamicParams.Add("@stu_torgcode", stu_torgcode);
+ var da1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (da1.Rows.Count <= 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
+ mes.data = null;
+ return mes;
+ }
+
//1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name
from TK_Wrk_Step A
@@ -631,6 +736,14 @@
}
else
{
+ if (sgood_qty == null || sgood_qty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
rt.reportqty = sqty + ng_qty+bad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺
@@ -676,6 +789,14 @@
}
else
{
+ if (ssqty == null || ssqty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
rt.reportqty = sqty + ng_qty+bad_qty; //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺
@@ -691,7 +812,7 @@
{
mes.code = "300";
mes.count = 0;
- mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁稿彂鏂�!";
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈彂鏂�,鏈亾涓嶅厑璁稿彂鏂�!";
mes.data = null;
return mes;
}
@@ -711,7 +832,14 @@
decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
decimal sybqty = sgood_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�
-
+ if (sgood_qty == null || sgood_qty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
rt.reportqty = 0; //宸插彂鏁伴噺
@@ -754,6 +882,14 @@
}
else
{
+ if (ssqty == null || ssqty == 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+ mes.data = null;
+ return mes;
+ }
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = sybqty; //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
rt.reportqty = 0; //宸插彂鏁伴噺
--
Gitblit v1.9.3