From e81a7b4c19dacd486a74a463b24107a9ee92d342 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 25 十一月 2022 10:45:44 +0800
Subject: [PATCH] 排产提交接口修改更新

---
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs |  115 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 91 insertions(+), 24 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index ef9e6d7..d915d4c 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -77,7 +77,7 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 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,saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username 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
@@ -102,11 +102,12 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string username)
+        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty,string saleOrderDeliveryDate, string username)
         {
             var sql = "";
             List<object> list = new List<object>();
             var dynamicParams = new DynamicParameters();
+
             try
             {
                 list.Clear();
@@ -199,7 +200,7 @@
                 }
                 else   //鏇存柊ERP璁㈠崟琛ㄧ姸鎬佷负CREATING:鍒涘缓涓�
                 {
-                    sql = @"update  TKimp_Ewo set status='CREATING',relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+                    sql = @"update  TKimp_Ewo set status='CREATING',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
                     list.Add(new
                     {
                         str = sql,
@@ -207,7 +208,8 @@
                         {
                             wo = erpordercode,
                             erporderid = erporderid,
-                            sumqty = sumqty
+                            sumqty = sumqty,
+                            saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                         }
                     });
                 }
@@ -476,6 +478,32 @@
         }
         #endregion
 
+
+        #region銆愮敓浜х鐞嗐�佸伐鍗曟柊澧炪�佺紪杈戞椂,閫夋嫨鎺掔▼鏄椂鑾峰彇鐗╂枡娓呭崟鐗堟湰鍙枫��
+        public static ToMessage JobCreationSonAddVison(string partnumber)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @" select id,version  from TBom_Main where materiel_code=@partnumber and status='Y' order by version desc ";
+                dynamicParams.Add("@partnumber", partnumber);
+                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宸ュ崟鏂板銆佺紪杈戞彁浜
         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, string is_aps, string bom_id)
         {
@@ -525,8 +553,8 @@
                                 where A.m_id=@bom_id";
                         list.Add(new { str = sql, parm = new { wocode = mesordercode, uomqty = mesqty, bom_id = bom_id } });
 
-                        wo_status = "NEW";
-                        wrk_status = "NEW";
+                        wo_status = "NOSCHED";
+                        wrk_status = "NOSCHED";
                     }
                     else //鍚�
                     {
@@ -534,8 +562,8 @@
                         wrk_status = "ALLO";
                     }
                     //鍐欏叆宸ュ崟琛�
-                    sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,plan_startdate,plan_enddate,route_code,stck_code,lm_user,lm_date,materiel_code,m_po,piroque)
-                                values(@mesordercode,@wotype,@mesorderstus,@wkshopcode,@mesqty,@planstartdate,@planenddate,@routecode,@stck_code,@username,@CreateDate,@materiel_code,@m_po,@orderlev)";
+                    sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,plan_startdate,plan_enddate,route_code,stck_code,lm_user,lm_date,materiel_code,m_po,piroque,isaps)
+                                values(@mesordercode,@wotype,@mesorderstus,@wkshopcode,@mesqty,@planstartdate,@planenddate,@routecode,@stck_code,@username,@CreateDate,@materiel_code,@m_po,@orderlev,@isaps)";
                     list.Add(new
                     {
                         str = sql,
@@ -554,7 +582,8 @@
                             username = username,
                             CreateDate = DateTime.Now.ToString(),
                             materiel_code = partcode,
-                            orderlev = orderlev
+                            orderlev = orderlev,
+                            isaps = is_aps
                         }
                     });
                     //鍐欏叆宸ュ簭浠诲姟琛�
@@ -601,7 +630,39 @@
                 }
                 if (opertype == "Update")
                 {
-                    sql = @"update TK_Wrk_Man set route_code=@routecode,wkshp_code=@wkshopcode,plan_startdate=@planstartdate,plan_enddate=@planenddate,status=@status,piroque=@orderlev,lm_user=@username,lm_date=@CreateDate where wo_code=@mesordercode";
+                    if (is_aps == "Y")  //鏄惁鎺掔▼(鏄�)
+                    {
+                        //鍒ゆ柇鐗╂枡娓呭崟
+                        sql = "select id from TBom_Main  where materiel_code=@partcode and status='Y' and id=@bom_id";
+                        dynamicParams.Add("@partcode", partcode);
+                        dynamicParams.Add("@bom_id", bom_id);
+                        var data = DapperHelper.selectdata(sql, dynamicParams);
+                        if (data.Rows.Count <= 0)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "宸ュ崟瀵瑰簲鐨勪骇鍝佹病鏈夊缓绔婤OM鎴朆OM鏈鏍革紒";
+                            mes.data = null;
+                            return mes;
+                        }
+                        //澧炲姞宸ュ崟鐢ㄦ枡琛紙瀛愪欢锛�
+                        sql = @"insert into TK_Wrk_Allo(wo_code, seq, materiel_code, basqty, qty,bom_id,materieltype,stck_code,stopfeed,base_quantity,loss_quantity,m_quantity)
+                                select @wocode,A.seq,A.smateriel_code,A.total_quantity,(convert(decimal(18, 0), @uomqty)*A.Base_Quantity*(1+A.LOSS_QUANTITY/100))/C.quantity,
+                                A.m_id,A.pn_type,'','N',A.base_quantity,A.loss_quantity,C.quantity  
+                                from TBom_Deta A  left join  TBom_Main C on A.m_Id=C.id 
+                                left join TMateriel_Info B on A.smateriel_code = B.partcode
+                                where A.m_id=@bom_id";
+                        list.Add(new { str = sql, parm = new { wocode = mesordercode, uomqty = mesqty, bom_id = bom_id } });
+
+                        wo_status = "NOSCHED";
+                        wrk_status = "NOSCHED";
+                    }
+                    else //鍚�
+                    {
+                        wo_status = "ALLO";
+                        wrk_status = "ALLO";
+                    }
+                    sql = @"update TK_Wrk_Man set route_code=@routecode,wkshp_code=@wkshopcode,plan_startdate=@planstartdate,plan_enddate=@planenddate,status=@status,piroque=@orderlev,lm_user=@username,lm_date=@CreateDate,isaps=@isaps where wo_code=@mesordercode";
                     list.Add(new
                     {
                         str = sql,
@@ -611,11 +672,12 @@
                             wkshopcode = wkshopcode,
                             planstartdate = planstartdate,
                             planenddate = planenddate,
-                            status = "ALLO",  //娲惧彂
+                            status = wo_status,  
                             routecode = routecode,
                             username = username,
                             CreateDate = DateTime.Now.ToString(),
-                            orderlev = orderlev
+                            orderlev = orderlev,
+                            isaps= is_aps
                         }
                     });
                     //鍐欏叆宸ュ簭浠诲姟琛�
@@ -636,7 +698,7 @@
                             mesqty = mesqty,
                             planstartdate = planstartdate,
                             planenddate = planenddate,
-                            status = "ALLO",  //娲惧彂
+                            status = wo_status, 
                             username = username,
                             routecode = routecode,
                             CreateDate = DateTime.Now.ToString()
@@ -678,8 +740,8 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                //鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
-                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO')";
+                //鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鎴栧緟鎺掔▼鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
+                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO','NOSCHED')";
                 dynamicParams.Add("@wocode", wocode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -707,6 +769,10 @@
                     }
                     //鍒犻櫎宸ュ崟宸ュ簭琛�
                     sql = @"delete TK_Wrk_Step  where wo_code=@wocode";
+                    list.Add(new { str = sql, parm = new { wocode = wocode } });
+
+                    //鍒犻櫎鍔犲伐鍗曠敤鏂欒〃(瀛愪欢)
+                    sql = @"delete TK_Wrk_Allo  where wo_code=@wocode";
                     list.Add(new { str = sql, parm = new { wocode = wocode } });
 
                     //鍒犻櫎宸ュ崟琛�
@@ -3244,7 +3310,7 @@
                              left join (select wo_code, max(TIME_END) MAXTime,min(time_start) MINTime  from TK_Wrk_EqpAps group by wo_code) H on A.wo_code=H.wo_code
 	                         left join TUom U on C.uom_code=U.code
                              left join TOrganization M on A.wkshp_code=M.org_code
-	                         where    E.isbott = 'Y' and A.status='NEW' and A.isaps='Y'";
+	                         where E.isbott = 'Y' and A.status='NOSCHED' and A.isaps='Y' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -3337,7 +3403,7 @@
                     string sy = "0";
                     for (int i = 0; i < dt0.Rows.Count; i++)
                     {
-                        if (dt0.Rows[i]["WKSHOP"].ToString() == wkshpcode)  //宸ュ崟鍒涘缓杞﹂棿鏄惁绛変簬鎺掍骇璁惧 杞﹂棿
+                        if (dt0.Rows[i]["WKSP_CODE"].ToString() == wkshpcode)  //宸ュ崟鍒涘缓杞﹂棿鏄惁绛変簬鎺掍骇璁惧 杞﹂棿
                         {
                             sy = "1";
                             break;
@@ -3353,6 +3419,7 @@
                         mes.count = 0;
                         mes.Message = "鎺掍骇璁惧杞﹂棿涓庡伐鍗曞垱寤虹殑杞﹂棿涓嶅悓锛�";
                         mes.data = null;
+                        return list;
                     }
                     else
                     {
@@ -3384,8 +3451,8 @@
 		                                        from  TWkm_capac_plan  E 
                                                 left join TWkm_capac_plan_sub F on E.id=F.m_id
                                                 left join TBas_wkshift_info G on F.wkshift_code=G.code
-                                                where E.wkshop='CJ001'and E.eqp_typecode='SBLX001'  and E.ClassType='D'
-		                                        and CONVERT(varchar(100), F.wkdate, 23)='2022-10-11' and E.enable='Y'";
+                                                where E.wkshop=@wkshop and E.eqp_typecode=@eqp_typecode  and E.ClassType=@classtype
+		                                        and CONVERT(varchar(100), F.wkdate, 23)=@wkdate and E.enable='Y'";
                                 dynamicParams.Add("@wkshop", wkshpcode);
                                 dynamicParams.Add("@eqp_typecode", listData[j].Style.ToString());
                                 dynamicParams.Add("@classtype", listData[j].ClassType.ToString());
@@ -3432,7 +3499,7 @@
                             {
                                 mes.code = "300";
                                 mes.count = 0;
-                                mes.Message = "鎺掔▼璁惧鏈缃骇鑳斤紒";
+                                mes.Message = "褰撳墠宸ュ崟鍔犲伐浜у搧瀵瑰簲宸ヨ壓璺嚎璁惧鏈缃骇鑳芥垨鏈缃敓浜ц妭鎷嶏紒";
                                 mes.data = null;
                             }
                         }
@@ -3517,7 +3584,7 @@
                 string status = dt.Rows[0]["STATUS"].ToString();
                 Decimal nm = 0;                                                     //鐡跺緞宸ュ簭鐨勫墠缃ぉ鏁�
                 Decimal nn = Decimal.Parse(dt.Rows[0]["BottFrointv"].ToString());   //鐡跺緞宸ュ簭鐨勫悗缃ぉ鏁�
-                if (status != "NEW" && status != "SCHED")   //宸ュ簭浠诲姟鐨勭姸鎬佸凡缁忔淳鍙戯紙瀹℃牳锛�
+                if (status != "NEW" && status != "SCHED" && status != "NOSCHED")   //宸ュ簭浠诲姟鐨勭姸鎬佸凡缁忔淳鍙戯紙瀹℃牳锛�
                 {
                     mes.code = "300";
                     mes.count = 0;
@@ -3574,7 +3641,7 @@
                 {
                     sql = @"insert into  TK_Wrk_EqpApsSum (wo_code,eqp_code,step_taid,p_date, t_date, qty,status)
                            select  min(wo_code),min(eqp_code),min(step_taid),min(time_start),max(time_end),sum(Alloc_Qty),'NEW' from TK_Wrk_EqpAps  
-                           where wo_code=@wocode and eqp_code=''";
+                           where wo_code=@wocode and eqp_code=@eqp_code";
                     list.Add(new { str = sql, parm = new { wocode = wocode, eqp_code = dt1.Rows[i]["EQP_CODE"].ToString() } });
                 }
 
@@ -3590,7 +3657,7 @@
 
                 list.Clear();
                 //鍐欏叆璁惧浠诲姟(姹囨�昏〃)鐢ㄦ枡  璁″垝鏁伴噺*瀛愪欢鍩烘湰鐢ㄩ噺*锛�1+鎹熻�楃巼锛�/姣嶄欢鍩烘湰鐢ㄩ噺
-                sql = @"insert into TK_Wrk_EqpSum_Allo(m_id, seq, invcode, qty,wo_code,pn_type)
+                sql = @"insert into TK_Wrk_EqpSum_Allo(m_id, seq, materiel_code, qty,wo_code,materieltype)
                         select A.id M_id, B.seq,B.materiel_code,(round(A.qty,2)*BE.Base_Quantity*(1+BE.LOSS_QUANTITY/100))/BM.quantity  qty,A.wo_code,B.materieltype  
                         from TK_Wrk_EqpApsSum A 
                         left join TK_Wrk_Allo B on A.Wo_Code= B.Wo_Code 
@@ -3616,7 +3683,7 @@
                     }
                 });
                 //涓诲伐鍗曠殑鈥滆鍒掑紑鏈烘棩鏈� = 鐡跺緞宸ュ簭鐨勯寮�宸ユ棩鏈� - 鐡跺緞宸ュ簭鐨勫墠缃棩鏈燂級    涓诲伐鍗曪細璁″垝瀹屽伐鏃ユ湡 = 鐡跺緞宸ュ簭鐨勯瀹屽伐鏃ユ湡 + 鐡跺緞宸ュ簭鐨勫悗缃棩鏈�
-                sql = @"update mes_tk_wrk_man set status='SCHED',plan_startdate =convert(varchar(100),@plan_startdate,21),  plan_enddate =convert(varchar(100),@plan_enddate,21), exchag='Y',allocfag='N' where wo_code =@wocode";
+                sql = @"update TK_Wrk_Man set status='SCHED',plan_startdate =convert(varchar(100),@plan_startdate,21),  plan_enddate =convert(varchar(100),@plan_enddate,21), exchag='Y',allocfag='N' where wo_code =@wocode";
                 list.Add(new
                 {
                     str = sql,

--
Gitblit v1.9.3