From aa391b0c42e561f198e9a9f91e32073500001193 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 09 十月 2023 20:17:04 +0800
Subject: [PATCH] 1.报工审核查询、审核提交接口 2.报工调整接口优化 3.统计报表:生产进度报表接口

---
 VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs |  821 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 593 insertions(+), 228 deletions(-)

diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 035b47a..6fb784c 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -7,6 +7,7 @@
 using System.Linq;
 using System.Threading.Tasks;
 using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.ReportVerify;
 using VueWebCoreApi.Models.UpdateReport;
 using VueWebCoreApi.Models.WorkData;
 using VueWebCoreApi.Tools;
@@ -17,6 +18,7 @@
     {
         public static DataTable dt;    //瀹氫箟鍏ㄥ眬鍙橀噺dt
         public static bool res;       //瀹氫箟鍏ㄥ眬鍙橀噺dt
+
         public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
         public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
         public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
@@ -2328,44 +2330,45 @@
                 search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @" select *  from(
-                             select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
-                             A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
-                             B.report_person as usercode,
-                              STUFF((SELECT ',' + U.username
-                                     FROM TUser U
-                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
-                                     FOR XML PATH('')), 1, 1, '') AS username,
-                             B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty
-                             from TK_Wrk_Record A
-                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
-                             left join TK_Wrk_Man M on A.wo_code=M.wo_code
-                             left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
-                             left join TStep S on A.step_code=S.stepcode
-                             left join TMateriel_Info P on A.materiel_code=P.partcode
-                             left join TOrganization T on M.wkshp_code=T.torg_code
-                             left join TEqpInfo E on A.eqp_code=E.code
-                             left join TGroup G on G.usergroupcode=B.usergroup_code
-                             where A.style='B' and B.style='B' and M.status<>'CLOSED' and B.verify='N'
-                             union all
-                             select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
-                             A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
-                             B.in_person as usercode,
+                var sql = @"select *  from(
+                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
+                            B.report_person as usercode,
                              STUFF((SELECT ',' + U.username
-                                     FROM TUser U
-                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
-                                     FOR XML PATH('')), 1, 1, '') AS username,
-                             B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_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 TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
-                             left join TStep S on A.step_code = S.stepcode
-                             left join TMateriel_Info P on A.materiel_code = P.partcode
-                             left join TOrganization T on M.wkshp_code = T.torg_code
-                             left join TCustomer E on A.wx_code = E.code 
-                             where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED' and B.verify='N'
-                             ) as AA where" + search;
+                                    FROM TUser U
+                                    WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
+                                    FOR XML PATH('')), 1, 1, '') AS username,
+                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name
+                            from TK_Wrk_Record A
+                            inner join TK_Wrk_RecordSub B on A.id=B.m_id
+                            left join TK_Wrk_Man M on A.wo_code=M.wo_code
+                            left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+                            left join TStep S on A.step_code=S.stepcode
+                            left join TMateriel_Info P on A.materiel_code=P.partcode
+                            left join TOrganization T on M.wkshp_code=T.torg_code
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TGroup G on G.usergroupcode=B.usergroup_code
+                            where A.style='B' and B.style='B' and M.status<>'CLOSED' and A.verify='N'
+                            union all
+                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
+                            B.in_person as usercode,
+                            STUFF((SELECT ',' + U.username
+                                    FROM TUser U
+                                    WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
+                                    FOR XML PATH('')), 1, 1, '') AS username,
+                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name
+                            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 TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+                            left join TStep S on A.step_code = S.stepcode
+                            left join TMateriel_Info P on A.materiel_code = P.partcode
+                            left join TOrganization T on M.wkshp_code = T.torg_code
+                            left join TCustomer E on A.wx_code = E.code 
+                            left join TCustomer C on A.wx_code=C.code
+                            where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED' and A.verify='N'
+                            ) as AA where" + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -2457,6 +2460,20 @@
                 //鎺у埗閫昏緫锛氫腑闂村伐搴忚皟鏁�-> (鏈亾宸ュ簭褰撳墠璋冩暣鍚堟牸鏁�+鏈亾宸ュ簭闈炲綋鍓嶆姤宸ュ悎鏍兼�绘暟)<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟(鍚堟牸+涓嶈壇+鎶ュ簾)   ==涓嶈兘灏忎簬涓嬮亾鎶ュ伐鎬绘暟
                 string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
                 list.Clear();
+                //鑾峰彇褰撳墠宸ュ簭涓婇亾宸ュ簭鍙婂睘鎬�
+                sql = @"select T.stepcode,T.stepname,T.flwtype from TK_Wrk_Step A
+                                left join  TStep T on A.step_code=T.stepcode
+                                where A.wo_code=@ordercode and A.seq=@seq-1 ";
+                dynamicParams.Add("@ordercode", json[0].wo_code);
+                dynamicParams.Add("@seq", json[0].step_seq);
+                var pre = DapperHelper.selectdata(sql, dynamicParams);
+                //鑾峰彇褰撳墠宸ュ簭涓嬮亾宸ュ簭鍙婂睘鎬�
+                sql = @"select T.stepcode,T.stepname,T.flwtype from TK_Wrk_Step A
+                                left join  TStep T on A.step_code=T.stepcode
+                                where A.wo_code=@ordercode and A.seq=@seq+1 ";
+                dynamicParams.Add("@ordercode", json[0].wo_code);
+                dynamicParams.Add("@seq", json[0].step_seq);
+                var next = DapperHelper.selectdata(sql, dynamicParams);
                 //鍒ゆ柇褰撳墠宸ュ簭鏄嚜鍒跺伐搴忚繕鏄鍗忓伐搴�
                 if (json[0].flw_type.ToString() == "Z")//鑷埗宸ュ簭
                 {
@@ -2492,30 +2509,61 @@
                             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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+                        //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+                        if (next.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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
-                            if ((notthis_reportqty + decimal.Parse(json[0].report_qty) < last_updatereportsumqty))
+                            if (next.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + 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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty) < last_updatereportsumqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+                                sql = @"select isnull(sum(fqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty) < last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
                             }
                         }
+
                     }
                     //鏈亾宸ュ簭鐨勬姤宸�
                     else if (json[0].last_choke == "Y")
@@ -2534,33 +2582,63 @@
                         //鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
                         decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
 
-                        //鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
-                        sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq-1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+                        //鍒ゆ柇鏄惁瀛樺湪涓婇亾宸ュ簭鍙婂睘鎬�
+                        if (pre.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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
-                            if (updatereportsumqty > last_reportqty)
+                            if (pre.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
-                                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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq-1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
+                                    if (updatereportsumqty > last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘敹鏂欐暟閲�
+                                sql = @"select isnull(sum(sqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq-1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氭敹鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+                                    //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鏀舵枡鍚堟牸鎬绘暟
+                                    if (updatereportsumqty > last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔敹鏂欐�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
                             }
                         }
                     }
                     else //涓棿宸ュ簭鐨勬姤宸�
                     {
-                       //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+                        //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
                         sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_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[0].wo_code);
@@ -2573,50 +2651,111 @@
                         decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
                         //鑾峰彇褰撳墠涓棿宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鏂欏簾鎬绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟
                         decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
-                        //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
-                        sql = @"select isnull(sum(good_qty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq-1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+
+                        //鍒ゆ柇鏄惁瀛樺湪涓婇亾宸ュ簭鍙婂睘鎬�
+                        if (pre.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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
-                            if (updatereportsumqty > last_reportqty)
+                            if (pre.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
-                                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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq-1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
+                                    if (updatereportsumqty > last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘敹鏂欐暟閲�
+                                sql = @"select isnull(sum(sqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq-1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氭敹鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓婇亾宸ュ簭鏀舵枡鎬诲悎鏍兼暟閲�
+                                    //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鏀舵枡鎬诲悎鏍兼暟閲�
+                                    if (updatereportsumqty > last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔敹鏂欐�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt1 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt1.Rows.Count > 0)
+                        //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭灞炴��
+                        if (next.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_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
-                            if ((notthis_reportqty + decimal.Parse(json[0].report_qty)< last_updatereportsumqty))
+                            if (next.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + 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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty) < last_updatereportsumqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+                                sql = @"select isnull(sum(fqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='F'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓嬮亾宸ュ簭鍙戞枡鎬诲悎鏍兼暟閲�
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty) < last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉ぇ浜庝笅閬撳伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
                             }
                         }
                     }
@@ -2644,7 +2783,8 @@
                         }
                     });
                     //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
-                    sql = @"update TK_Wrk_Record set start_qty=start_qty+@good_qty, good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
+                    sql = @"update TK_Wrk_Record set start_qty=start_qty+@good_qty, good_qty=good_qty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
+                            updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
                             where wo_code=@wo_code and step_code=@step_code and id=@id and style='B'";
                     list.Add(new
                     {
@@ -2657,7 +2797,9 @@
                             materielbad_qty = this_materielbad_dvalue,
                             wo_code = json[0].wo_code,
                             step_code = json[0].step_code,
-                            id = int.Parse(json[0].id)
+                            id = int.Parse(json[0].id),
+                            updatereportuser = us.usercode,
+                            updatereportdate = date
                         }
                     });
                     //鍥炲啓宸ュ崟宸ュ簭琛�
@@ -2676,7 +2818,7 @@
                             step_code = json[0].step_code
                         }
                     });
-                    
+
                     for (int i = 0; i < json[0].children.Count; i++)
                     {
                         //鍥炲啓涓嶈壇
@@ -2720,173 +2862,225 @@
                 }
                 if (json[0].flw_type.ToString() == "W")//澶栧崗宸ュ簭
                 {
-                     //鑾峰彇姝ゆ鎶ュ伐璋冩暣鎻愪氦鐨勬暟鎹�(鍚堟牸鏁伴噺銆佷笉鑹暟閲忋�佸伐搴熸暟閲忋�佹枡搴熸暟閲�)
-                    decimal this_reportqty = decimal.Parse(json[0].report_qty.ToString()); //鎶ュ伐鏁伴噺(鍚堟牸)
+                    //鏌ヨ褰撳墠棣栭亾宸ュ簭闈炴娆′緵搴斿晢鏀舵枡锛氭�绘敹鏂欐暟閲�
+                    sql = @"select isnull(sum(sqty),0) as sqty
+                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code<>@wx_code";
+                    dynamicParams.Add("@wo_code", json[0].wo_code);
+                    dynamicParams.Add("@id", json[0].id);
+                    dynamicParams.Add("@step_code", json[0].step_code);
+                    dynamicParams.Add("@wx_code", json[0].wxcode);
+                    var dt_c = DapperHelper.selectdata(sql, dynamicParams);
+                    //鑾峰彇姝ゆ鎶ュ伐璋冩暣鎻愪氦鐨勬暟鎹�(鏀舵枡鏁伴噺銆佷笉鑹暟閲忋�佸伐搴熸暟閲忋�佹枡搴熸暟閲�)
+                    decimal this_reportqty = decimal.Parse(json[0].report_qty.ToString()); //鏀舵枡鏁伴噺
                     decimal this_ngqty = json[0].children.Sum(item => decimal.Parse(item.ng_qty));//涓嶈壇鏁伴噺姹囨��
                     decimal this_laborbadqty = json[0].children.Sum(item => decimal.Parse(item.laborbad_qty));//宸ュ簾鏁伴噺姹囨��
                     decimal this_materielbadqty = json[0].children.Sum(item => decimal.Parse(item.materielbad_qty));//鏂欏簾鏁伴噺姹囨��
                     decimal this_ng_dvalue = json[0].children.Sum(item => decimal.Parse(item.ng_dvalue));//涓嶈壇鏁伴噺宸�兼眹鎬�
                     decimal this_laborbad_dvalue = json[0].children.Sum(item => decimal.Parse(item.laborbad_dvalue));//宸ュ簾鏁伴噺宸�兼眹鎬�
                     decimal this_materielbad_dvalue = json[0].children.Sum(item => decimal.Parse(item.materielbad_dvalue));//鏂欏簾鏁伴噺宸�兼眹鎬�
-                    //棣栭亾宸ュ簭鐨勬姤宸�
+                    //鑾峰彇褰撳墠宸ュ簭銆佷緵搴斿晢瀵瑰簲鐨勫彂鏂欐暟閲�
+                    sql = @"select isnull(sum(fqty),0) as fqty
+                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='F' and id<>@id and step_code=@step_code and wx_code=@wx_code";
+                    dynamicParams.Add("@wo_code", json[0].wo_code);
+                    dynamicParams.Add("@id", json[0].id);
+                    dynamicParams.Add("@step_code", json[0].step_code);
+                    dynamicParams.Add("@wx_code", json[0].wxcode);
+                    var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
+                    //棣栭亾宸ュ簭鐨勬敹鏂�
                     if (json[0].first_choke == "Y")
                     {
-                        //鏌ヨ褰撳墠棣栭亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+                        //鏌ヨ褰撳墠棣栭亾宸ュ簭闈炴娆℃敹鏂欙細鎬绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
                         sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code=@wx_code";
                         dynamicParams.Add("@wo_code", json[0].wo_code);
                         dynamicParams.Add("@id", json[0].id);
                         dynamicParams.Add("@step_code", json[0].step_code);
+                        dynamicParams.Add("@wx_code", json[0].wxcode);
                         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_laborbadqty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�诲伐搴熸暟
                         decimal notthis_materielbadqty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘枡搴熸暟
-                        //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鎶ュ伐鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>宸ュ崟浠诲姟鏁伴噺
+                        //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鏀舵枡鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>鍙戞枡鏁伴噺
                         decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbadqty + notthis_materielbadqty;
-                        if (updatereportsumqty > decimal.Parse(json[0].task_qty.ToString()))
+                        if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].ToString()))
                         {
                             mes.code = "300";
                             mes.count = 0;
-                            mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐鍗曚换鍔℃暟閲忥細銆�" + json[0].task_qty.ToString() + "銆�!";
+                            mes.Message = "褰撳墠棣栭亾宸ュ簭瀵瑰簲渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡彂鏂欐暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
                             mes.data = null;
                             return mes;
                         }
-                        //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
-                        sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq+1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+                        //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+                        if (next.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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
-                            if ((notthis_reportqty + decimal.Parse(json[0].report_qty) < last_updatereportsumqty))
+                            if (next.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠棣栭亾宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + 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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鏀舵枡璋冩暣鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_updatereportsumqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鏁伴噺锛氥��" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+                                sql = @"select isnull(sum(fqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='F'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鎶ュ伐璋冩暣鏀舵枡鏁帮級<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty) < last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
                             }
                         }
+
                     }
                     //鏈亾宸ュ簭鐨勬姤宸�
                     else if (json[0].last_choke == "Y")
                     {
-                        //鏌ヨ褰撳墠鏈亾鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
+                        //鏌ヨ褰撳墠鏈亾鎶ュ伐宸ュ簭闈炴娆℃敹鏂欙細鎬绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
                         sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code  and wx_code=@wx_code";
                         dynamicParams.Add("@wo_code", json[0].wo_code);
                         dynamicParams.Add("@id", json[0].id);
                         dynamicParams.Add("@step_code", json[0].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_laborbad_qty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString());  //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ュ伐搴熸�绘暟
                         decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString());  //褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
-                        //鑾峰彇褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
+                        //鑾峰彇褰撳墠鏈亾宸ュ簭鏀舵枡鎬绘暟閲忥細鏈淇敼鏀舵枡鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鎶ュ伐鏂欏簾鏁伴噺+褰撳墠鏈亾宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠鏈亾宸ュ簭闈炴湰娆℃枡搴熸�绘暟
                         decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
-
-                        //鏌ヨ褰撳墠鏈亾宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
-                        sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq-1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+                        //鍒ゆ柇褰撳墠宸ュ簭渚涘簲鍟嗘敹鏂欐�绘暟>褰撳墠宸ュ簭渚涘簲鍟嗗搴斿彂鏂欐暟閲�
+                        if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛氬綋鍓嶆湯閬撳伐搴忔姤宸ヨ褰曪細褰撳墠鏈亾宸ュ簭鎶ュ伐鎬绘暟閲�>涓婇亾宸ュ簭鎶ュ伐鍚堟牸鎬绘暟
-                            if (updatereportsumqty > last_reportqty)
-                            {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠鏈亾宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
-                                mes.data = null;
-                                return mes;
-                            }
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "褰撳墠宸ュ簭渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡伐搴忎緵搴斿晢鍙戞枡鎬绘暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
+                            mes.data = null;
+                            return mes;
                         }
+
                     }
                     else //涓棿宸ュ簭鐨勬姤宸�
                     {
-                       //鏌ヨ褰撳墠涓棿鎶ュ伐宸ュ簭闈炴娆℃姤宸ワ細鎬绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
+
+                        //鏌ヨ褰撳墠棣栭亾宸ュ簭渚涘簲鍟嗛潪姝ゆ鏀舵枡锛氭�绘敹鏂欐暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
                         sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code";
+                                from TK_Wrk_OutRecord where wo_code=@wo_code and style='S' and id<>@id and step_code=@step_code and wx_code=@wx_code";
                         dynamicParams.Add("@wo_code", json[0].wo_code);
                         dynamicParams.Add("@id", json[0].id);
                         dynamicParams.Add("@step_code", json[0].step_code);
+                        dynamicParams.Add("@wx_code", json[0].wxcode);
                         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_laborbad_qty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ュ伐璐规�绘暟
-                        decimal notthis_materielbad_qty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ枡搴熸�绘暟
-                        //鑾峰彇褰撳墠涓棿宸ュ簭鎶ュ伐鎬绘暟閲忥細鏈淇敼鎶ュ伐鏁伴噺+鏈淇敼涓嶈壇鏁伴噺+鏈淇敼宸ュ簾鏁伴噺+鏈淇敼鏂欏簾鎬绘暟+褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟
-                        decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbad_qty + notthis_materielbad_qty;
-                        //鏌ヨ褰撳墠宸ュ簭涓婇亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�诲伐搴熸暟閲忋�佹�绘枡搴熸暟閲�
-                        sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq-1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt0.Rows.Count > 0)
+                        decimal notthis_reportqty = decimal.Parse(dt.Rows[0]["good_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟
+                        decimal notthis_ngqty = decimal.Parse(dt.Rows[0]["ng_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�讳笉鑹暟
+                        decimal notthis_laborbadqty = decimal.Parse(dt.Rows[0]["laborbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�诲伐搴熸暟
+                        decimal notthis_materielbadqty = decimal.Parse(dt.Rows[0]["materielbad_qty"].ToString());  //褰撳墠宸ュ簭闈炴湰娆℃姤宸ユ�绘枡搴熸暟
+                        //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細鏈鏀舵枡鏁伴噺+鏈涓嶈壇鏁伴噺+鏈宸ュ簾鏁伴噺+鏈鏂欏簾鏁伴噺+褰撳墠宸ュ簭闈炴湰娆℃敹鏂欐�绘暟+褰撳墠宸ュ簭闈炴湰娆′笉鑹�绘暟+褰撳墠宸ュ簭闈炴湰娆″伐搴熸�绘暟+褰撳墠宸ュ簭闈炴湰娆℃枡搴熸�绘暟>鍙戞枡鏁伴噺
+                        decimal updatereportsumqty = this_reportqty + this_ngqty + this_laborbadqty + this_materielbadqty + notthis_reportqty + notthis_ngqty + notthis_laborbadqty + notthis_materielbadqty;
+                        if (updatereportsumqty > decimal.Parse(dt_0.Rows[0]["fqty"].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓婇亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());//涓婇亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛氬綋鍓嶅伐搴忔姤宸ヨ褰曪細褰撳墠宸ュ簭鎶ュ伐鎬绘暟>涓婇亾宸ュ簭鎶ュ伐鎬诲悎鏍兼暟
-                            if (updatereportsumqty > last_reportqty)
-                            {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庝笂閬撳伐搴忔姤宸ユ�诲悎鏍兼暟閲忥細銆�" + last_reportqty + "銆�,璇疯緭鍏ュ悎娉曟暟鍊兼垨鍏堜慨鏀逛笂閬撳伐搴忔姤宸ユ暟閲�!";
-                                mes.data = null;
-                                return mes;
-                            }
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "褰撳墠棣栭亾宸ュ簭瀵瑰簲渚涘簲鍟嗘敹鏂欐�绘暟閲忥細銆�" + updatereportsumqty + "銆戜笉鑳藉ぇ浜庡彂鏂欐暟閲忥細銆�" + decimal.Parse(dt_0.Rows[0]["fqty"].ToString()) + "銆�!";
+                            mes.data = null;
+                            return mes;
                         }
-                        //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�绘姤宸ユ暟閲忋�佹�讳笉鑹暟閲忋�佹�绘姤搴熸暟閲�
-                        sql = @"select isnull(sum(sqty),0) as good_qty,isnull(sum(ng_qty),0) as ng_qty,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
-                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='S'  and step_seq=@step_seq+1";
-                        dynamicParams.Add("@wo_code", json[0].wo_code);
-                        dynamicParams.Add("@step_seq", json[0].step_seq);
-                        var dt1 = DapperHelper.selectdata(sql, dynamicParams);
-                        if (dt1.Rows.Count > 0)
+                        //鍒ゆ柇鏄惁瀛樺湪涓嬮亾宸ュ簭鍙婂睘鎬�
+                        if (next.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_laborbad_qty = decimal.Parse(dt1.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
-                            decimal last_materielbad_qty = decimal.Parse(dt1.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
-                            decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
-                            //鍒ゆ柇锛堝綋鍓嶉潪鏈鎶ュ伐鎬诲悎鏍兼暟+鏈鎶ュ伐璋冩暣鍚堟牸鏁帮級<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
-                            if ((notthis_reportqty + decimal.Parse(json[0].report_qty)< last_updatereportsumqty))
+                            if (next.Rows[0]["flwtype"].ToString() == "Z")
                             {
-                                mes.code = "300";
-                                mes.count = 0;
-                                mes.Message = "褰撳墠宸ュ簭淇敼鎶ュ伐鎬诲悎鏍兼暟閲忥細銆�" + (notthis_reportqty + decimal.Parse(json[0].report_qty)) + "銆戜笉鑳藉皬浜庝笅閬撳伐搴忔姤宸ユ�绘暟閲忥細銆�" + 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(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty   
+                                    from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].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_laborbad_qty = decimal.Parse(dt0.Rows[0]["laborbad_qty"].ToString());  //涓嬮亾宸ュ簭宸ュ簾鎬绘暟閲�
+                                    decimal last_materielbad_qty = decimal.Parse(dt0.Rows[0]["materielbad_qty"].ToString());  //涓嬮亾宸ュ簭鏂欏簾鎬绘暟閲�
+                                    decimal last_updatereportsumqty = last_reportqty + last_ngqty + last_laborbad_qty + last_materielbad_qty;
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鏀舵枡璋冩暣鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鎶ュ伐鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_updatereportsumqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鏁伴噺锛氥��" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撹嚜鍒跺伐搴忔姤宸ユ�绘暟閲忥細銆�" + last_updatereportsumqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //鏌ヨ褰撳墠宸ュ簭涓嬮亾宸ュ簭锛氭�诲彂鏂欐暟閲�
+                                sql = @"select isnull(sum(fqty),0) as good_qty
+                                    from TK_Wrk_OutRecord where wo_code=@wo_code and style='F'  and step_seq=@step_seq+1";
+                                dynamicParams.Add("@wo_code", json[0].wo_code);
+                                dynamicParams.Add("@step_seq", json[0].step_seq);
+                                var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                                if (dt0.Rows.Count > 0)
+                                {
+                                    //鍒ゆ柇褰撳墠宸ュ簭锛氬彂鏂欐�绘暟鏁伴噺
+                                    decimal last_reportqty = decimal.Parse(dt0.Rows[0]["good_qty"].ToString());  //涓嬮亾宸ュ簭鍙戞枡鎬绘暟閲�
+                                    //鍒ゆ柇锛堝綋鍓嶉潪鏈鏀舵枡鏁�+鏈鎶ュ伐璋冩暣鏀舵枡鏁�+闈炲綋鍓嶄緵搴斿晢鍚屽伐搴忔敹鏂欐�绘暟锛�<涓嬮亾宸ュ簭鍙戞枡鎬绘暟
+                                    if ((notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) < last_reportqty)
+                                    {
+                                        mes.code = "300";
+                                        mes.count = 0;
+                                        mes.Message = "褰撳墠棣栭亾宸ュ簭鏀舵枡鎬绘暟閲忥細銆�" + (notthis_reportqty + this_reportqty + decimal.Parse(dt_c.Rows[0]["sqty"].ToString())) + "銆戜笉鑳藉皬浜庝笅閬撳鍗忓伐搴忓彂鏂欐�绘暟閲忥細銆�" + last_reportqty + "銆�!";
+                                        mes.data = null;
+                                        return mes;
+                                    }
+                                }
                             }
                         }
                     }
 
                     ///////////////////////////////淇敼鎶ュ伐//////////////////////////////
 
-                    //鍥炲啓瀵瑰簲鐨勫鍗忚褰曞瓙琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+                    //鍥炲啓瀵瑰簲鐨勫鍗忚褰曞瓙琛ㄦ敹鏂欐暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
                     sql = @"update TK_Wrk_OutRecordSub set sqty=sqty+@repair_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
                             updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
-                            where  m_id=@m_id and id=@id and style='S'";
+                            where  m_id=@m_id and id=@id and style='S' and wx_code=@wx_code";
                     list.Add(new
                     {
                         str = sql,
@@ -2898,14 +3092,16 @@
                             ng_qty = this_ng_dvalue,
                             laborbad_qty = this_laborbad_dvalue,
                             materielbad_qty = this_materielbad_dvalue,
+                            wx_code = json[0].wxcode,
                             //bad_money = decimal.Parse(json[i].badmoney_dvalue),
                             updatereportuser = us.usercode,
                             updatereportdate = date
                         }
                     });
-                    //鍥炲啓瀵瑰簲鐨勫鍗忚褰曚富琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
-                    sql = @"update TK_Wrk_OutRecord set  sqty=sqty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty
-                            where wo_code=@wo_code and step_code=@step_code and id=@id and style='S'";
+                    //鍥炲啓瀵瑰簲鐨勬敹鏂欒褰曚富琛ㄦ敹鏂欐暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
+                    sql = @"update TK_Wrk_OutRecord set sqty=sqty+@good_qty,ng_qty=ng_qty+@ng_qty,laborbad_qty=laborbad_qty+@laborbad_qty,materielbad_qty=materielbad_qty+@materielbad_qty,
+                            updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
+                            where wo_code=@wo_code and step_code=@step_code and id=@id and style='S' and wx_code=@wx_code";
                     list.Add(new
                     {
                         str = sql,
@@ -2915,9 +3111,12 @@
                             ng_qty = this_ng_dvalue,
                             laborbad_qty = this_laborbad_dvalue,
                             materielbad_qty = this_materielbad_dvalue,
+                            wx_code = json[0].wxcode,
                             wo_code = json[0].wo_code,
                             step_code = json[0].step_code,
-                            id = int.Parse(json[0].id)
+                            id = int.Parse(json[0].id),
+                            updatereportuser = us.usercode,
+                            updatereportdate = date
                         }
                     });
                     //鍥炲啓宸ュ崟宸ュ簭琛�
@@ -2936,7 +3135,7 @@
                             step_code = json[0].step_code
                         }
                     });
-                    
+
                     for (int i = 0; i < json[0].children.Count; i++)
                     {
                         //鍥炲啓涓嶈壇
@@ -3007,5 +3206,171 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+        public static ToMessage MesOrderStepReportVerifySearch(string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wo_code != "" && wo_code != null)
+                {
+                    search += "and AA.wo_code like '%'+@wo_code+'%' ";
+                    dynamicParams.Add("@wo_code", wo_code);
+                }
+                if (partnumber != "" && partnumber != null)
+                {
+                    search += "and AA.partnumber like '%'+@partnumber+'%' ";
+                    dynamicParams.Add("@partnumber", partnumber);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and AA.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (stepname != "" && stepname != null)
+                {
+                    search += "and AA.stepname like '%'+@stepname+'%' ";
+                    dynamicParams.Add("@stepname", stepname);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and AA.usercode like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (reportdateopendate != "" && reportdateopendate != null)
+                {
+                    search += "and AA.report_date between @reportdateopendate and @reportdateclosedate ";
+                    dynamicParams.Add("@reportdateopendate", reportdateopendate + " 00:00:00");
+                    dynamicParams.Add("@reportdateclosedate", reportdateclosedate + " 23:59:59");
+                }
+
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *  from(
+                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,A.task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
+                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
+                            B.report_person as usercode,
+                             STUFF((SELECT ',' + U.username
+                                    FROM TUser U
+                                    WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
+                                    FOR XML PATH('')), 1, 1, '') AS username,
+                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name,A.verify
+                            from TK_Wrk_Record A
+                            inner join TK_Wrk_RecordSub B on A.id=B.m_id
+                            left join TK_Wrk_Man M on A.wo_code=M.wo_code
+                            left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+                            left join TStep S on A.step_code=S.stepcode
+                            left join TMateriel_Info P on A.materiel_code=P.partcode
+                            left join TOrganization T on M.wkshp_code=T.torg_code
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TGroup G on G.usergroupcode=B.usergroup_code
+                            where A.style='B' and B.style='B' and M.status<>'CLOSED' 
+                            union all
+                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
+                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
+                            B.in_person as usercode,
+                            STUFF((SELECT ',' + U.username
+                                    FROM TUser U
+                                    WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
+                                    FOR XML PATH('')), 1, 1, '') AS username,
+                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name,A.verify
+                            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 TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
+                            left join TStep S on A.step_code = S.stepcode
+                            left join TMateriel_Info P on A.materiel_code = P.partcode
+                            left join TOrganization T on M.wkshp_code = T.torg_code
+                            left join TCustomer E on A.wx_code = E.code 
+                            left join TCustomer C on A.wx_code=C.code
+                            where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED'
+                            ) as AA where" + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鏁版嵁鎻愪氦]
+        public static ToMessage MesOrderStepReportVerifySeave(User us, DataModel json)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (json.zdata.Count > 0)
+                {
+                    //鍥炲啓鎶ュ伐璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+                    sql = @"update TK_Wrk_Record set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate  where id in @id";
+                    list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.zdata } });
+                    //鍥炲啓鎶ュ伐璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+                    sql = @"update TK_Wrk_RecordSub set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate  where m_id in @id";
+                    list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.zdata } });
+                }
+                if (json.wdata.Count > 0)
+                {
+                    //鍥炲啓澶栧崗璁板綍涓昏〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+                    sql = @"update TK_Wrk_OutRecord set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate  where id in @id";
+                    list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.wdata } });
+                    //鍥炲啓澶栧崗璁板綍瀛愯〃瀹℃牳鐘舵�併�佸鏍镐汉銆佸鏍告椂闂�
+                    sql = @"update TK_Wrk_OutRecordSub set verify='Y',verifyuser=@verifyuser,verifydate=@verifydate  where m_id in @id";
+                    list.Add(new { str = sql, parm = new { verifyuser = us.usercode, verifydate = DateTime.Now.ToString(), id = json.wdata } });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    //鍐欏叆鎿嶄綔璁板綍琛�
+                    LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "鑷埗鎶ュ伐璁板綍id:" + string.Join(",", json.zdata), us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鎶ュ伐瀹℃牳", "澶栧崗鏀舵枡璁板綍id:" + string.Join(",", json.wdata), us.usertype);
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "瀹℃牳鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "瀹℃牳澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.3