From 6fe3d6fc4e93f4cf31dc02d4f0cbc48d56c249b7 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 30 六月 2023 13:35:23 +0800
Subject: [PATCH] 多车间模式接口过滤

---
 VueWebApi/Tools/ScanStartReport.cs |  164 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 148 insertions(+), 16 deletions(-)

diff --git a/VueWebApi/Tools/ScanStartReport.cs b/VueWebApi/Tools/ScanStartReport.cs
index 0a8dd4e..25bbc63 100644
--- a/VueWebApi/Tools/ScanStartReport.cs
+++ b/VueWebApi/Tools/ScanStartReport.cs
@@ -17,10 +17,11 @@
         /// <summary>
         /// 鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
         /// </summary>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</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 ordercode, string stepcode)
         {
             var sql = "";
             string flwtype = ""; //宸ュ簭灞炴��
@@ -32,7 +33,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
@@ -215,6 +243,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 +297,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 +338,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 +379,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 +420,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 +461,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 +527,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 +544,34 @@
             var dynamicParams = new DynamicParameters();
             try
             {
+                //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+                sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshop_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 wkshop_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 +732,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 +785,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 +808,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 +828,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 +878,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