From 777eb41b54602375bf6e7a0f26207f5fbaf27031 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 06 三月 2023 16:36:33 +0800
Subject: [PATCH] 1.节拍工价新增、编辑加工价类型字段区分自制、外协 2.工序编辑,工序类型切换保存时删除对应节拍工价表 3.工单派发时判断区分自制、外协工序 4.计件工资报表增加剔除工序参数

---
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs |  487 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 455 insertions(+), 32 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 0e422ac..0c3c4dd 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -66,7 +66,7 @@
                 }
                 if (creatuser != "" && creatuser != null)
                 {
-                    search += "and U.username like '%'+@creatuser+'%' ";
+                    search += "and A.createuser like '%'+@creatuser+'%' ";
                     dynamicParams.Add("@creatuser", creatuser);
                 }
 
@@ -77,12 +77,11 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.org_name as wkshp_name,
-                            A.stck_code,D.name as stck_name,A.planstartdate,A.planenddate,U.username as createuser,A.createdate 
+                            A.stck_code,D.name as stck_name,A.planstartdate,A.planenddate,A.createuser as createuser,A.createdate 
                             from TKimp_Ewo A
                             left join TMateriel_Info B on A.materiel_code=B.partcode
                             left join TOrganization C on A.wkshp_code=C.org_code
-                            left join T_Sec_Stck D on A.stck_code=D.code 
-                            left join TUser U on A.createuser=U.usercode 
+                            left join T_Sec_Stck D on A.stck_code=D.code  
                             where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -476,6 +475,73 @@
         }
         #endregion
 
+        #region[宸ュ崟娲惧彂閫夋嫨宸ヨ壓璺嚎鎴栭�夋嫨鐢熶骇杞﹂棿鏃跺垽鏂粦瀹氭潯浠禲
+        public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                mes.code = "200";
+                mes.Message = "";
+                mes.data = null;
+                //鍒ゆ柇宸ヨ壓璺嚎瀵瑰簲宸ュ簭鏄惁閮芥湁鍏宠仈宸ヤ綔绔�
+                sql = @"select B.step_code,C.eqp_code from TFlw_Rout A
+                        inner join TFlw_Rtdt B on A.code=B.rout_code
+                        left join TFlw_Rteqp C on B.step_code=C.step_code
+                        where A.code=@routecode";
+                dynamicParams.Add("@routecode", routecode);
+                var dtck = DapperHelper.selectdata(sql, dynamicParams);
+                for (int i = 0; i < dtck.Rows.Count; i++)
+                {
+                    if (dtck.Rows[i].IsNull("eqp_code"))
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "褰撳墠宸ヨ壓璺嚎瀵瑰簲宸ュ簭銆�" + dtck.Rows[i]["step_code"].ToString() + "銆戯紝鏈叧鑱旇澶囷紝璇峰叧鑱旀墍鏈夊伐搴忓搴旇澶�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                }
+                //鍒ゆ柇宸ヨ壓璺嚎瀵瑰簲宸ュ簭鍏宠仈鐨勫伐浣滅珯鏄惁鏈夎缃妭鎷嶅伐浠�
+                sql = @"select AA.step_code,AA.eqp_code,AA.flwtype,S.unprice  from (
+                        select A.code,B.step_code,C.eqp_code,S.flwtype from TFlw_Rout A
+                        inner join TFlw_Rtdt B on A.code=B.rout_code
+                        left join TFlw_Rteqp C on B.step_code=C.step_code
+                        left join TStep S on B.step_code=S.stepcode
+                        where A.code=@route_code
+                        ) as AA
+                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code) as S on
+                        AA.code=S.route_code and AA.step_code=S.step_code and AA.eqp_code=S.eqp_code";
+                dynamicParams.Add("@partcode", partcode);
+                dynamicParams.Add("@route_code", routecode);
+                var dtc = DapperHelper.selectdata(sql, dynamicParams);
+                for (int i = 0; i < dtc.Rows.Count; i++)
+                {
+                    if (dtc.Rows[i]["flwtype"].ToString() == "Z") //鍒ゆ柇宸ュ簭鏄惁涓鸿嚜鍒�
+                    {
+                        if (dtc.Rows[i].IsNull("unprice") || decimal.Parse(dtc.Rows[i]["unprice"].ToString()) == 0)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "鑺傛媿宸ヤ环涓細褰撳墠浜у搧銆�" + partcode + "銆戯紝瀵瑰簲宸ヨ壓璺嚎銆�" + routecode + "銆戞湭璁剧疆(鎴栨湭璁剧疆鍏�)鎴栧伐浠峰皬浜庣瓑浜�0!";
+                            mes.data = null;
+                            return mes;
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
         #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
         public static ToMessage AddUpdateMesOrder(string mesorderstus, string sourceorder, string ordertype, string mesordercode, string partcode, string mesqty, string routecode, string wkshopcode, string planstartdate, string planenddate, string orderlev, string username, string opertype)
         {
@@ -534,6 +600,25 @@
                             CreateDate = DateTime.Now.ToString()
                         }
                     });
+
+                    //鍐欏叆宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"insert into TWoPrteEqp_Stad(wo,materiel_code,eqp_code,stand_value,opc_conver,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,torg_code,is_delete,step_code)
+                           select distinct @mesordercode as wo,S.materiel_code,S.eqp_code,S.stand_value,S.opc_conver,S.route_code,S.unprice,
+                           S.eqp_value,S.cavity_qty,S.wkspcode,S.lm_user,S.lm_date,S.torg_code,S.is_delete,S.step_code
+                           from TFlw_Rtdt A
+                           inner join TFlw_Rteqp C on A.step_code=C.step_code
+                           inner join (select *   from TPrteEqp_Stad  where materiel_code=@materiel_code and route_code=@routecode) as S on C.step_code=S.step_code and C.eqp_code=S.eqp_code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode,
+                            materiel_code = partcode,
+                            routecode = routecode
+                        }
+                    });
+
                     //if (is_aps == "Y")  //鏄惁鎺掔▼
                     //{
                     //    string sql1 = "select id from TBom_Main  where materiel_code='" + PartNumber + "' and status='Y' and version='" + VsionId + "'";
@@ -601,6 +686,35 @@
                             CreateDate = DateTime.Now.ToString()
                         }
                     });
+
+                    //鍒犻櫎宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"delete TWoPrteEqp_Stad where wo=@mesordercode";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode
+                        }
+                    });
+                    //鍐欏叆宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"insert into TWoPrteEqp_Stad(wo,materiel_code,eqp_code,stand_value,opc_conver,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,torg_code,is_delete,step_code)
+                           select distinct @mesordercode as wo,S.materiel_code,S.eqp_code,S.stand_value,S.opc_conver,S.route_code,S.unprice,
+                           S.eqp_value,S.cavity_qty,S.wkspcode,S.lm_user,S.lm_date,S.torg_code,S.is_delete,S.step_code
+                           from TFlw_Rtdt A
+                           inner join TFlw_Rteqp C on A.step_code=C.step_code
+                           inner join (select *   from TPrteEqp_Stad  where materiel_code=@materiel_code and route_code=@routecode) as S on C.step_code=S.step_code and C.eqp_code=S.eqp_code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode,
+                            materiel_code = partcode,
+                            routecode = routecode
+                        }
+                    });
+
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
                     {
@@ -761,6 +875,40 @@
                          left join TMateriel_Info P on M.materiel_code=P.partcode
                         where A.wo_code=@wo_code order by A.seq";
                 dynamicParams.Add("@wo_code", wo_code);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[MES宸ュ崟宸ュ簭浠诲姟鏌ョ湅SOP,鑾峰彇SOP鏂囦欢涓嬫媺鍒楄〃]
+        public static ToMessage SearchWorkStepSopList(string partcode, string routecode,string stepcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇SOP鏂囦欢淇℃伅
+                sql = @"select id,define_name,file_path   from TK_Sop_Matfile where materiel_code=@partcode and eqptype_code in(
+                        select distinct T.code  from TMateriel_Route A
+                        inner join TFlw_Rtdt B on A.route_code=B.rout_code
+                        inner join TFlw_Rteqp E on B.step_code=E.step_code
+                        inner join TEqpInfo  Q on E.eqp_code=Q.code
+                        inner join TEqpType T on Q.eqptype_code=T.code
+                        where A.materiel_code=@partcode and A.route_code=@routecode and B.step_code=@stepcode) order by file_version desc";
+                dynamicParams.Add("@partcode", partcode);
+                dynamicParams.Add("@routecode", routecode);
+                dynamicParams.Add("@stepcode", stepcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -2352,22 +2500,16 @@
 
 
         #region[鐢熶骇绠$悊,淇敼鎶ュ伐鏁版嵁鏌ヨ鎺ュ彛]
-        public static ToMessage MesOrderStepVerifySearch(string reporttype, string wo_code, string partnumber, string partname, string partspec, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+        public static ToMessage MesOrderStepVerifySearch(string verify, string wo_code, string partnumber, string partname, string partspec, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
-                if (reporttype != "" && reporttype != null)
+                if (verify != "" && verify != null)
                 {
-                    if (reporttype == "BZ")
-                    {
-                        search += "and AA.usergroup_code<>''";
-                    }
-                    else
-                    {
-                        search += "and AA.usergroup_code='' ";
-                    }
+                    search += "and AA.verify=@verify ";
+                    dynamicParams.Add("@verify", verify);
                 }
                 if (wo_code != "" && wo_code != null)
                 {
@@ -2411,21 +2553,20 @@
                 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,G.org_name as wkshp_name,A.eqp_code,E.name as eqp_name,
-                            M.route_code,R.name as route_name,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,B.usergroup_code,O.group_name as usergroup_name,B.report_person as usercode,U.username,
-                            B.report_date,B.report_qty,B.ng_qty,B.bad_qty   
+                            M.route_code,R.name as route_name,A.step_seq,A.step_code,S.stepname,S.flwtype,D.first_choke,D.last_choke,T.unprice,B.report_person as usercode,U.username,
+                            B.report_date,B.report_qty,B.ng_qty,B.bad_qty,B.verify,B.bad_money 
                             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 TStep S on A.step_code=S.stepcode
-                            left join TPrteEqp_Stad T on A.materiel_code=T.materiel_code and M.route_code=T.route_code and A.step_code=T.step_code and A.eqp_code=T.eqp_code
+                            left  join TWoPrteEqp_Stad T on A.wo_code=T.wo and A.materiel_code=T.materiel_code and A.eqp_code=T.eqp_code and A.step_code=T.step_code and M.route_code=T.route_code 
                             left join TMateriel_Info P on A.materiel_code=P.partcode
                             left join TOrganization G on M.wkshp_code=G.org_code
                             left join TEqpInfo E on A.eqp_code=E.code
                             left join TFlw_Rout R on M.route_code=R.code
                             left join TFlw_Rtdt D on M.route_code=D.rout_code and A.step_code=D.step_code
                             left join TUser U on B.report_person=U.usercode
-                            left join TGroup O on U.usergroup_code=O.group_code
-                            where A.style='B' and B.style='B' 
+                            where A.style='B' and B.style='B' and M.status<>'CLOSED'
                             ) as AA where" + search;
                 //union all
                 //select A.id,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,M.plan_qty as task_qty,M.wkshp_code,G.org_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
@@ -2442,7 +2583,7 @@
                 //left join TFlw_Rout R on M.route_code = R.code
                 //left join TFlw_Rtdt D on M.route_code = D.rout_code and A.step_code = D.step_code
                 //left join TUser U on B.in_person = U.usercode
-                //where A.style = 'S' and B.style = 'S'
+                //where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED'
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -2464,10 +2605,8 @@
         public static ToMessage MesOrderStepUpdateSeave(string username, List<UpdateProductReport> json)
         {
             var sql = "";
-            string[] arra1 = new string[] { };
             List<object> list = new List<object>();
             var dynamicParams = new DynamicParameters();
-            decimal sumrepair_qty = 0, sumbad_qty = 0;  //绱缁翠慨鏁伴噺銆佺疮璁℃姤搴熸暟閲�
             try
             {
                 string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
@@ -2531,7 +2670,7 @@
 
                         }
                         //鏄惁鏈亾
-                        if (json[i].last_choke == "Y")
+                       else if (json[i].last_choke == "Y")
                         {
                             decimal this_reportqty = decimal.Parse(json[i].report_qty.ToString()); //鎶ュ伐鏁伴噺(鍚堟牸)
                             decimal this_ngqty = decimal.Parse(json[i].ng_qty.ToString()); //涓嶈壇鏁伴噺
@@ -2638,7 +2777,7 @@
                         ///////////////////////////////淇敼鎶ュ伐//////////////////////////////
 
                         //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曞瓙琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲忋�佹姤搴熸暟閲�
-                        sql = @"update TK_Wrk_RecordSub set report_qty=report_qty+@repair_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty,
+                        sql = @"update TK_Wrk_RecordSub set report_qty=report_qty+@repair_qty,ng_qty=ng_qty+@ng_qty,bad_qty=bad_qty+@bad_qty,bad_money=bad_money+@bad_money,
                                 updatereportuser=@updatereportuser,updatereportdate=@updatereportdate
                                 where  m_id=@m_id and id=@id and style='B'";
                         list.Add(new
@@ -2648,9 +2787,10 @@
                             {
                                 m_id = int.Parse(json[i].id),
                                 id = int.Parse(json[i].sbid),
-                                repair_qty = decimal.Parse(json[i].report_qty),
-                                ng_qty = decimal.Parse(json[i].ng_qty),
-                                bad_qty = decimal.Parse(json[i].bad_qty),
+                                repair_qty = decimal.Parse(json[i].report_dvalue),
+                                ng_qty = decimal.Parse(json[i].ng_dvalue),
+                                bad_qty = decimal.Parse(json[i].bad_dvalue),
+                                bad_money = decimal.Parse(json[i].badmoney_dvalue),
                                 updatereportuser = username,
                                 updatereportdate = date
                             }
@@ -2663,9 +2803,9 @@
                             str = sql,
                             parm = new
                             {
-                                good_qty = decimal.Parse(json[i].report_qty),
-                                ng_qty = decimal.Parse(json[i].ng_qty),
-                                bad_qty = decimal.Parse(json[i].bad_qty),
+                                good_qty = decimal.Parse(json[i].report_dvalue),
+                                ng_qty = decimal.Parse(json[i].ng_dvalue),
+                                bad_qty = decimal.Parse(json[i].bad_dvalue),
                                 wo_code = json[i].wo_code,
                                 step_code = json[i].step_code,
                                 id = int.Parse(json[i].id)
@@ -2679,7 +2819,7 @@
                             str = sql,
                             parm = new
                             {
-                                ng_qty = decimal.Parse(json[i].ng_qty),
+                                ng_qty = decimal.Parse(json[i].ng_dvalue),
                                 wo_code = json[i].wo_code,
                                 step_code = json[i].step_code,
                                 id = int.Parse(json[i].id),
@@ -2769,7 +2909,43 @@
                             verifydate = date
                         }
                     });
-
+                    //鍐欏叆鎶ュ伐璁板綍瀹℃牳琛�
+                    sql = @"insert into  TK_WorkRecord_Verify(report_id,report_sbid,wo_code,partnumber,task_qty,wkshp_code,eqp_code,route_code,
+                            step_seq,step_code,flw_type,first_choke,last_choke,unprice,usergroup_code,usercode,report_date,report_qty,report_dvalue,ng_qty,ng_dvalue,bad_qty,bad_dvalue,bad_money,badmoney_dvalue) 
+                            values(@report_id,@report_sbid,@wo_code,@partnumber,@task_qty,@wkshp_code,@eqp_code,@route_code,
+                            @step_seq,@step_code,@flw_type,@first_choke,@last_choke,@unprice,@usergroup_code,@usercode,@report_date,@report_qty,@report_dvalue,@ng_qty,@ng_dvalue,@bad_qty,@bad_dvalue,@bad_money,@badmoney_dvalue)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            report_id=json[i].id.ToString(),
+                            report_sbid=json[i].sbid.ToString(),
+                            wo_code=json[i].wo_code.ToString(),
+                            partnumber=json[i].partnumber.ToString(),
+                            task_qty=json[i].task_qty.ToString(),
+                            wkshp_code=json[i].wkshp_code.ToString(),
+                            eqp_code=json[i].eqp_code.ToString(),
+                            route_code=json[i].route_code.ToString(),
+                            step_seq=json[i].step_seq.ToString(),
+                            step_code=json[i].step_code.ToString(),
+                            flw_type=json[i].flw_type.ToString(),
+                            first_choke=json[i].first_choke.ToString(),
+                            last_choke=json[i].last_choke.ToString(),
+                            unprice=json[i].unprice.ToString(),
+                            usergroup_code="",
+                            usercode=json[i].usercode.ToString(),
+                            report_date=json[i].report_date.ToString(),
+                            report_qty=json[i].report_qty.ToString(),
+                            report_dvalue=json[i].report_dvalue.ToString(),
+                            ng_qty=json[i].ng_qty.ToString(),
+                            ng_dvalue=json[i].ng_dvalue.ToString(),
+                            bad_qty=json[i].bad_qty.ToString(),
+                            bad_dvalue=json[i].bad_dvalue.ToString(),
+                            bad_money=json[i].bad_money.ToString(),
+                            badmoney_dvalue= json[i].badmoney_dvalue.ToString()
+                        }
+                    });
                 }
 
                 bool aa = DapperHelper.DoTransaction(list);
@@ -2799,6 +2975,253 @@
         }
         #endregion
 
+        #region[鐢熶骇绠$悊,淇敼鎶ュ伐鍙嶅鏍告彁浜
+        public static ToMessage MesOrderStepNoVerifySeave(string username, List<UpdateProductReport> json)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            try
+            {
+                string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
+                list.Clear();
+
+                //寰幆json鏁版嵁
+                for (int i = 0; i < json.Count; i++)
+                {
+
+                    ///////////////////////////////淇敼鎶ュ伐//////////////////////////////
+
+                    //鍥炲啓瀵瑰簲鐨勬姤宸ヨ褰曞瓙琛ㄥ鏍哥姸鎬併�佸鏍镐汉銆佸鏍告椂闂�
+                    sql = @"update TK_Wrk_RecordSub set verify=@verify,verifyuser=@verifyuser,verifydate=@verifydate
+                                where  m_id=@m_id and id=@id and style='B'";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            m_id = int.Parse(json[i].id),
+                            id = int.Parse(json[i].sbid),
+                            verify = "N",
+                            verifyuser = "",
+                            verifydate = ""
+                        }
+                    });
+                    //鍥炲啓涓嶈壇
+                    sql = @"update CSR_WorkRecord_Defect set verify=verify,verifyuser=@verifyuser,verifydate=@verifydate
+                                    where wo_code=@wo_code and step_code=@step_code and record_id=@id and style='B'";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            wo_code = json[i].wo_code,
+                            step_code = json[i].step_code,
+                            id = int.Parse(json[i].id),
+                            verify = "N",
+                            verifyuser = "",
+                            verifydate = ""
+                        }
+                    });
+                    //鍒犻櫎鎶ュ伐璁板綍瀹℃牳琛�
+                    sql = @"delete from TK_WorkRecord_Verify where wo_code=@wo_code and report_id=@report_id and report_sbid=@report_sbid and step_seq=@step_seq and step_code=@step_code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            report_id = json[i].id.ToString(),
+                            report_sbid = json[i].sbid.ToString(),
+                            wo_code = json[i].wo_code.ToString(),
+                            step_seq = json[i].step_seq.ToString(),
+                            step_code = json[i].step_code.ToString()
+                        }
+                    });
+                }
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    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
+
+        #region[鐢熶骇绠$悊,鍒犻櫎鎶ュ伐璁板綍]
+        public static ToMessage MesOrderStepDeleteSeave(string username, List<UpdateProductReport> json)
+        {
+            var sql = "";
+            string[] arra1 = new string[] { };
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
+                list.Clear();
+
+                //寰幆json鏁版嵁
+                for (int i = 0; i < json.Count; i++)
+                {
+                    //鑷埗宸ュ簭
+                    if (json[i].flw_type.ToString() == "Z")
+                    {
+                        //鍒ゆ柇褰撳墠宸ュ簭鏄惁瀛樺湪涓嬮亾宸ュ簭寮�宸ヨ褰�
+                        sql = @"select * from TK_Wrk_Record where wo_code=@wo_code and style='S'  and step_seq=@step_seq+1";
+                        dynamicParams.Add("@wo_code", json[i].wo_code);
+                        dynamicParams.Add("@step_seq", json[i].step_seq);
+                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                        if (dt0.Rows.Count > 0)
+                        {
+                            //鍒ゆ柇褰撳墠宸ュ簭鏄惁瀛樺湪涓嬮亾宸ュ簭鎶ュ伐璁板綍
+                            sql = @"select * from TK_Wrk_Record where wo_code=@wo_code and style='B'  and step_seq=@step_seq+1";
+                            dynamicParams.Add("@wo_code", json[i].wo_code);
+                            dynamicParams.Add("@step_seq", json[i].step_seq);
+                            var dt = DapperHelper.selectdata(sql, dynamicParams);
+                            if (dt.Rows.Count > 0)
+                            {
+                                mes.code = "300";
+                                mes.count = 0;
+                                mes.Message = "褰撳墠宸ュ簭涓嬮亾宸ュ簭宸叉姤宸ヤ笉鍏佽鍒犻櫎!";
+                                mes.data = null;
+                                return mes;
+                            }
+                        }
+
+                        ///////////////////////////////鍒犻櫎鎶ュ伐//////////////////////////////
+                        //鍒犻櫎涓嬮亾宸ュ簭寮�宸ヨ褰�(涓昏澶勭悊涓嬮亾宸ュ簭宸插紑宸ユ湭鎶ュ伐)
+                        sql = @"delete from TK_Wrk_Record where  wo_code=@wo_code and step_seq=@step_seq+1 and style=@style";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo_code=json[i].wo_code.ToString(),
+                                step_seq=json[i].step_seq.ToString(),
+                                style = "S"
+                            }
+                        });
+                        //鍒犻櫎鎶ュ伐缂洪櫡璁板綍琛�
+                        sql = @"delete from CSR_WorkRecord_Defect where  wo_code=@wo_code and partnumber=@partnumber and step_seq=@step_seq and step_code=@step_code and record_id=@record_id and style=@style ";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo_code=json[i].wo_code.ToString(),
+                                partnumber = json[i].partnumber.ToString(),
+                                step_seq = json[i].step_seq.ToString(),
+                                step_code = json[i].step_code.ToString(),
+                                record_id = int.Parse(json[i].id),
+                                style = "B"
+                            }
+                        });
+                        //鍒犻櫎鎶ュ伐缂洪櫡澶勭悊璁板綍琛�
+                        sql = @"delete from CSR_WorkRecord_DefectHandle where  wo_code=@wo_code and partnumber=@partnumber and step_seq=@step_seq and step_code=@step_code and record_subid=@record_subid and style=@style";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo_code = json[i].wo_code.ToString(),
+                                partnumber = json[i].partnumber.ToString(),
+                                step_seq = json[i].step_seq.ToString(),
+                                step_code = json[i].step_code.ToString(),
+                                record_subid = int.Parse(json[i].id),
+                                style = "B"
+                            }
+                        });
+                        //鍒犻櫎鎶ュ伐璁板綍瀛愯〃
+                        sql = @"delete from TK_Wrk_RecordSub where  id=@id and m_id=@m_id and style=@style";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                id = int.Parse(json[i].id),
+                                m_id = int.Parse(json[i].sbid),
+                                style = "B"
+                            }
+                        });
+                        //鍒犻櫎鎶ュ伐璁板綍涓昏〃
+                        sql = @"delete from TK_Wrk_Record where  id=@id and style=@style";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                id = int.Parse(json[i].id),
+                                m_id = int.Parse(json[i].sbid),
+                                style = "B"
+                            }
+                        });
+                        //鍥炲啓宸ュ崟宸ュ簭琛�(鍚堟牸鏁伴噺銆佷笉鑹暟閲忋�佹姤搴熸暟閲�)
+                        sql = @"update  TK_Wrk_Step set good_qty=good_qty-@report_qty,ng_qty=ng_qty-@ng_qty,bad_qty=bad_qty-@bad_qty where  wo_code=@wo_code and seq=@step_seq and step_code=@step_code";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo_code=json[i].wo_code.ToString(),
+                                step_seq=json[i].step_seq.ToString(),
+                                step_code=json[i].step_code.ToString(),
+                                report_qty = decimal.Parse(json[i].report_qty),
+                                ng_qty = decimal.Parse(json[i].ng_qty),
+                                bad_qty = decimal.Parse(json[i].bad_qty),
+                            }
+                        });
+                    }
+                    //澶栧崗宸ュ簭
+                    if (json[i].flw_type.ToString() == "S")
+                    {
+
+                    }
+                }
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    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
+
 
 
         #region[MES宸ュ崟鎵归噺鍏抽棴鏌ヨ]

--
Gitblit v1.9.3