From af7cef297da2ac1937dbcf437c3a91b00658f6c2 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 29 三月 2023 10:47:39 +0800
Subject: [PATCH] 订单下达获取工单语句修改,手工创建工单获取单号接口

---
 VueWebApi/Tools/ScanStartReport.cs |   93 ++++++++++++++++++++++++++--------------------
 1 files changed, 53 insertions(+), 40 deletions(-)

diff --git a/VueWebApi/Tools/ScanStartReport.cs b/VueWebApi/Tools/ScanStartReport.cs
index 0c8a35d..e71e1b8 100644
--- a/VueWebApi/Tools/ScanStartReport.cs
+++ b/VueWebApi/Tools/ScanStartReport.cs
@@ -69,12 +69,12 @@
                     if (dt.Rows.Count > 0) //鏈変笅閬撳伐搴�
                     {
                         rt.nextstepcode = dt.Rows[0]["STEPCODE"].ToString();//涓嬮亾宸ュ簭缂栫爜
-                        rt.nextstepcode = dt.Rows[0]["STEPNAME"].ToString();//涓嬮亾宸ュ簭鍚嶇О
+                        rt.nextstepname = dt.Rows[0]["STEPNAME"].ToString();//涓嬮亾宸ュ簭鍚嶇О
                     }
                     if (isend == "Y")  //褰撳墠宸ュ簭鏄湯閬撳伐搴�
                     {
-                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//褰撳墠宸ュ簭缂栫爜
-                        rt.nextstepcode = data.Rows[0]["STEPNAME"].ToString();//褰撳墠宸ュ簭鍚嶇О
+                        rt.nextstepcode = "";//data.Rows[0]["STEPCODE"].ToString();//褰撳墠宸ュ簭缂栫爜
+                        rt.nextstepname = "";// data.Rows[0]["STEPNAME"].ToString();//褰撳墠宸ュ簭鍚嶇О
                     }
                 }
                 else
@@ -104,9 +104,11 @@
                                 var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                 if (data1.Rows.Count > 0)
                                 {
-                                    string good_qty = data1.Rows[0]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
-                                    string ng_qty = data1.Rows[0]["NG_QTY"].ToString();// 涓嶈壇鏁伴噺
-                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (decimal.Parse(good_qty) + decimal.Parse(ng_qty)); //鍓╀綑鍙姤宸ユ暟閲�=浠诲姟鏁伴噺-(鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺)
+                                    decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鎶ュ伐鎬绘暟閲�
+                                    decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //涓嶈壇鏁伴噺
+                                    decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鎶ュ簾鏁伴噺
+
+                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty+bad_qty); //鍓╀綑鍙姤宸ユ暟閲�=浠诲姟鏁伴噺-(鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+鎶ュ簾鏁伴噺)
                                     if (kbqty <= 0)//鏃犲彲鎶ュ伐鏁伴噺
                                     {
                                         mes.code = "300";
@@ -119,8 +121,8 @@
                                     {
                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());            //浠诲姟鏁伴噺
                                         rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());           //寮�宸ユ暟閲�=浠诲姟鏁伴噺
-                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - kbqty;  //鏈姤鏁伴噺=浠诲姟鏁伴噺-宸叉姤鏁伴噺
-                                        rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);             //宸叉姤鏁伴噺=鎶ュ伐鏁伴噺-涓嶈壇鏁伴噺
+                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty- ng_qty-bad_qty;  //鏈姤鏁伴噺=浠诲姟鏁伴噺-宸叉姤鏁伴噺-涓嶈壇鏁伴噺-鎶ュ簾鏁伴噺
+                                        rt.reportqty = good_qty + ng_qty+bad_qty;             //宸叉姤鏁伴噺=鎶ュ伐鏁伴噺+涓嶈壇鏁伴噺+鎶ュ簾鏁伴噺
                                         mes.code = "200";
                                         mes.count = 1;
                                         mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
@@ -186,10 +188,12 @@
                                             var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                             if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
                                             {
-                                                string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//涓婇亾鎶ュ伐鏁伴噺
-                                                string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//鏈亾鎶ュ伐鏁伴噺
-                                                string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// 鏈亾涓嶈壇鏁伴噺
-                                                decimal sybqty = decimal.Parse(sgood_qty) - decimal.Parse(good_qty) - decimal.Parse(ng_qty);//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺-鏈亾鎶ュ伐鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //涓婇亾鎶ュ伐鎬绘暟閲�
+                                                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();  //鏈亾鎬绘姤搴熸暟閲�
+
+                                                decimal sybqty = sgood_qty - good_qty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾鎶ュ簾鎬绘暟
                                                 if (sybqty <= 0)
                                                 {
                                                     mes.code = "300";
@@ -203,7 +207,7 @@
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
                                                     rt.startqty = sybqty;                                                //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
                                                     rt.noreportqty = sybqty;                                             //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
-                                                    rt.reportqty = 0;                                                    //宸叉姤鏁伴噺
+                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾鎶ュ簾鎬绘暟
                                                     mes.code = "200";
                                                     mes.count = 1;
                                                     mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
@@ -229,9 +233,11 @@
                                             if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
                                             {
                                                 decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();  //涓婇亾鏀舵枡鏁伴噺
-                                                string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//鏈亾鎶ュ伐鏁伴噺
-                                                string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// 鏈亾涓嶈壇鏁伴噺
-                                                decimal sybqty = sqty - decimal.Parse(good_qty) - decimal.Parse(ng_qty);//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鏀舵枡鏁伴噺-鏈亾鎶ュ伐鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                                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();  //鏈亾鎬绘姤搴熸暟閲�
+
+                                                decimal sybqty = sqty - good_qty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鏀舵枡鎬绘暟閲�-鏈亾鎶ュ伐鎬绘暟閲�-鏈亾涓嶈壇鎬绘暟閲�-鏈亾鎬绘姤搴熸暟
                                                 if (sybqty <= 0)
                                                 {
                                                     mes.code = "300";
@@ -245,7 +251,7 @@
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
                                                     rt.startqty = sybqty;                                                //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
                                                     rt.noreportqty = sybqty;                                             //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
-                                                    rt.reportqty = 0;                                                    //宸叉姤鏁伴噺
+                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //宸叉姤鏁伴噺=鏈亾鎶ュ伐鎬绘暟閲�+鏈亾鎶ュ伐鎬讳笉鑹�+鏈亾鎬绘姤搴熸暟
                                                     mes.code = "200";
                                                     mes.count = 1;
                                                     mes.Message = "寮圭獥鎶ュ伐鐣岄潰!";
@@ -273,8 +279,8 @@
                                             var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                             if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
                                             {
-                                                string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//涓婇亾鎶ュ伐鏁伴噺
-                                                decimal sybqty = decimal.Parse(sgood_qty);               //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
+                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鏈亾鎶ュ伐鎬绘暟閲�
+                                                decimal sybqty = sgood_qty;                                      //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
 
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
                                                 rt.startqty = sybqty;                                                //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
@@ -304,11 +310,11 @@
                                             if (data3.Rows.Count > 0) //涓婇亾鏈夋敹鏂�
                                             {
                                                 decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
-                                                decimal sybqty = sqty;                   //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鏀舵枡鏁伴噺
+                                                decimal sybqty = sqty;                   //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
 
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
-                                                rt.startqty = sybqty;                                                //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
-                                                rt.noreportqty = sybqty;                                             //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
+                                                rt.startqty = sybqty;                                                //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙敹鏁伴噺
+                                                rt.noreportqty = sybqty;                                             //鏈姤鏁伴噺=鏈亾鍓╀綑鍙敹鏁伴噺
                                                 rt.reportqty = 0;                                                    //宸叉姤鏁伴噺
                                                 mes.code = "200";
                                                 mes.count = 1;
@@ -339,6 +345,7 @@
                                         {
                                             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();// 鎶ュ簾鏁伴噺
 
                                             rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                             rt.startqty = decimal.Parse(good_qty);                               //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鏁伴噺)
@@ -369,6 +376,7 @@
                                         {
                                             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();// 鎶ュ簾鏁伴噺
 
                                             rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                             rt.startqty = sqty;                                                  //寮�宸ユ暟閲�=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
@@ -481,12 +489,12 @@
                     if (dt.Rows.Count > 0) //鏈変笅閬撳伐搴�
                     {
                         rt.nextstepcode = dt.Rows[0]["STEPCODE"].ToString();//涓嬮亾宸ュ簭缂栫爜
-                        rt.nextstepcode = dt.Rows[0]["STEPNAME"].ToString();//涓嬮亾宸ュ簭鍚嶇О
+                        rt.nextstepname = dt.Rows[0]["STEPNAME"].ToString();//涓嬮亾宸ュ簭鍚嶇О
                     }
                     if (isend == "Y")  //褰撳墠宸ュ簭鏄湯閬撳伐搴�
                     {
-                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//褰撳墠宸ュ簭缂栫爜
-                        rt.nextstepcode = data.Rows[0]["STEPNAME"].ToString();//褰撳墠宸ュ簭鍚嶇О
+                        rt.nextstepcode = "";// data.Rows[0]["STEPCODE"].ToString();//褰撳墠宸ュ簭缂栫爜
+                        rt.nextstepname = "";// data.Rows[0]["STEPNAME"].ToString();//褰撳墠宸ュ簭鍚嶇О
                     }
                 }
                 else
@@ -520,7 +528,8 @@
                                     {
                                         decimal fqty = data0.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();  //鍙戞枡鏁伴噺
                                         decimal ng_qty =data0.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
-                                        decimal kfqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - fqty - ng_qty;                                           //鍓╀綑鍙彂鏁伴噺
+                                        decimal bad_qty = data0.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鎶ュ簾鏁伴噺
+                                        decimal kfqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - fqty - ng_qty- bad_qty;  //鍓╀綑鍙彂鏁伴噺
                                         if (kfqty <= 0)
                                         {
                                             mes.code = "300";
@@ -581,11 +590,12 @@
                                                 var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                 if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
                                                 {
-                                                    string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//涓婇亾鎶ュ伐鏁伴噺
+                                                    decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鏈亾鎶ュ伐鎬绘暟閲�
                                                     decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
                                                     decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 鏈亾涓嶈壇鏁伴噺
+                                                    decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鏈亾鎶ュ簾鏁伴噺
 
-                                                    decimal sybqty = decimal.Parse(sgood_qty) - sqty - ng_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                                    decimal sybqty =sgood_qty - sqty - ng_qty- bad_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
                                                     if (sybqty <= 0)
                                                     {
                                                         mes.code = "300";
@@ -598,7 +608,7 @@
                                                     {
                                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                         rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
-                                                        rt.reportqty = sqty + ng_qty;                                        //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺                                       
+                                                        rt.reportqty = sqty + ng_qty+bad_qty;                                //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺                                       
                                                         rt.startqty = sybqty;                                                //鏀舵枡鏁伴噺=鍓╀綑鍙彂鏁伴噺      
 
                                                         mes.code = "200";
@@ -628,8 +638,9 @@
                                                     decimal ssqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
                                                     decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
                                                     decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 鏈亾涓嶈壇鏁伴噺
+                                                    decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鏈亾鎶ュ簾鏁伴噺
 
-                                                    decimal sybqty = ssqty - sqty - ng_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鏀舵枡鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                                    decimal sybqty = ssqty - sqty - ng_qty-bad_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鏀舵枡鏁伴噺-鏈亾鍙戞枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
                                                     if (sybqty <= 0)
                                                     {
                                                         mes.code = "300";
@@ -642,7 +653,7 @@
                                                     {
                                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                         rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
-                                                        rt.reportqty = sqty + ng_qty;                                        //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺                                       
+                                                        rt.reportqty = sqty + ng_qty+bad_qty;                                //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺                                       
                                                         rt.startqty = sybqty;                                                //鏀舵枡鏁伴噺=鍓╀綑鍙彂鏁伴噺      
 
                                                         mes.code = "200";
@@ -672,9 +683,9 @@
                                                 var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                 if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
                                                 {
-                                                    string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//涓婇亾鎶ュ伐鏁伴噺
+                                                    decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鏈亾鎶ュ伐鎬绘暟閲�
 
-                                                    decimal sybqty = decimal.Parse(sgood_qty);//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
+                                                    decimal sybqty = sgood_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�
 
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                     rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
@@ -783,7 +794,8 @@
                                             decimal fqty = data0.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
                                             decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏈亾鏀舵枡鏁伴噺
                                             decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();//鏈亾涓嶈壇鏁伴噺
-                                            decimal ksqty = fqty - sqty - ng_qty;                                                //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                            decimal bad_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鏈亾鎶ュ簾鏁伴噺
+                                            decimal ksqty = fqty - sqty - ng_qty-bad_qty;  //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
                                             if (ksqty <= 0)
                                             {
                                                 mes.code = "300";
@@ -796,8 +808,8 @@
                                             {
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                 rt.noreportqty = ksqty;                                              //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
-                                                rt.reportqty = sqty + ng_qty;                                        //宸叉敹鏁伴噺                                   
-                                                rt.startqty = fqty;                                                  //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺      
+                                                rt.reportqty = sqty + ng_qty+bad_qty;                                //宸叉敹鏁伴噺                                   
+                                                rt.startqty = ksqty;                                                  //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺      
 
                                                 mes.code = "200";
                                                 mes.count = 3;
@@ -859,7 +871,8 @@
                                                 decimal fqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
                                                 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 ksqty = fqty - sqty - ng_qty;                                               //鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺
+                                                decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();  //鏈亾鎶ュ簾鏁伴噺
+                                                decimal ksqty = fqty - sqty - ng_qty-bad_qty;//鍓╀綑鍙彂鏁伴噺=鏈亾鍙戞枡鏁伴噺-鏈亾鏀舵枡鏁伴噺-鏈亾涓嶈壇鏁伴噺-鏈亾鎶ュ簾鏁伴噺
                                                 if (ksqty <= 0)
                                                 {
                                                     mes.code = "300";
@@ -872,8 +885,8 @@
                                                 {
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                     rt.noreportqty = ksqty;                                              //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
-                                                    rt.reportqty = sqty + ng_qty;                                        //宸叉敹鏁伴噺                                   
-                                                    rt.startqty = fqty;                                                  //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺      
+                                                    rt.reportqty = sqty + ng_qty+bad_qty;                                 //宸叉敹鏁伴噺                                   
+                                                    rt.startqty = ksqty;                                                  //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺      
 
                                                     mes.code = "200";
                                                     mes.count = 3;
@@ -883,7 +896,7 @@
                                             }
                                             else
                                             {
-                                                decimal fqty = data1.AsEnumerable().Select(d => d.Field<Int32>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
+                                                decimal fqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();  //鏈亾鍙戞枡鏁伴噺
 
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                 rt.noreportqty = fqty;                                               //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺

--
Gitblit v1.9.3