yl
2022-12-02 44301c5fc4deda5529fc9fd20c527e45f1d7faa3
VueWebApi/Tools/ScanStartReport.cs
@@ -73,8 +73,8 @@
                    }
                    if (isend == "Y")  //当前工序是末道工序
                    {
                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepname = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                        rt.nextstepcode = "";//data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepname = "";// data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                    }
                }
                else
@@ -106,8 +106,9 @@
                                {
                                    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); //剩余可报工数量=任务数量-(报工数量+不良数量)
                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty+bad_qty); //剩余可报工数量=任务数量-(报工数量+不良数量+报废数量)
                                    if (kbqty <= 0)//无可报工数量
                                    {
                                        mes.code = "300";
@@ -120,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()) - good_qty- ng_qty;  //未报数量=任务数量-已报数量-不良数量
                                        rt.reportqty = good_qty + 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 = "弹窗报工界面!";
@@ -190,8 +191,9 @@
                                                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;//本道剩余可报数量=上道报工总数量-本道报工总数量-本道不良总数量
                                                decimal sybqty = sgood_qty - good_qty - ng_qty-bad_qty;//本道剩余可报数量=上道报工总数量-本道报工总数量-本道不良总数量-本道报废总数
                                                if (sybqty <= 0)
                                                {
                                                    mes.code = "300";
@@ -205,7 +207,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = good_qty + ng_qty;                                    //已报数量=本道报工总数量+本道报工总不良
                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //已报数量=本道报工总数量+本道报工总不良+本道报废总数
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -233,8 +235,9 @@
                                                decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).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 = sqty - good_qty - ng_qty;//本道剩余可报数量=上道收料总数量-本道报工总数量-本道不良总数量
                                                decimal sybqty = sqty - good_qty - ng_qty-bad_qty;//本道剩余可报数量=上道收料总数量-本道报工总数量-本道不良总数量-本道总报废数
                                                if (sybqty <= 0)
                                                {
                                                    mes.code = "300";
@@ -248,7 +251,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = good_qty + ng_qty;                                    //已报数量=本道报工总数量+本道报工总不良
                                                    rt.reportqty = good_qty + ng_qty+bad_qty;                            //已报数量=本道报工总数量+本道报工总不良+本道总报废数
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -307,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;
@@ -342,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);                               //开工数量=(上一道的报工数量)
@@ -372,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;                                                  //开工数量=(上一道的收料数量)
@@ -488,8 +493,8 @@
                    }
                    if (isend == "Y")  //当前工序是末道工序
                    {
                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepname = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                        rt.nextstepcode = "";// data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepname = "";// data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                    }
                }
                else
@@ -523,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";
@@ -587,8 +593,9 @@
                                                    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 =sgood_qty - sqty - ng_qty;//本道剩余可发数量=上道报工数量-本道发料数量-本道不良数量
                                                    decimal sybqty =sgood_qty - sqty - ng_qty- bad_qty;//本道剩余可发数量=上道报工数量-本道发料数量-本道不良数量-本道报废数量
                                                    if (sybqty <= 0)
                                                    {
                                                        mes.code = "300";
@@ -601,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";
@@ -631,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";
@@ -645,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";
@@ -786,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";
@@ -799,7 +808,7 @@
                                            {
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                rt.noreportqty = ksqty;                                              //未收数量=本道发料数量
                                                rt.reportqty = sqty + ng_qty;                                        //已收数量
                                                rt.reportqty = sqty + ng_qty+bad_qty;                                //已收数量
                                                rt.startqty = ksqty;                                                  //收料数量=本道发料数量      
                                                mes.code = "200";
@@ -862,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";
@@ -875,7 +885,7 @@
                                                {
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                    rt.noreportqty = ksqty;                                              //未收数量=本道发料数量
                                                    rt.reportqty = sqty + ng_qty;                                        //已收数量
                                                    rt.reportqty = sqty + ng_qty+bad_qty;                                 //已收数量
                                                    rt.startqty = ksqty;                                                  //收料数量=本道发料数量      
                                                    mes.code = "200";