From 46ca053239e9841f4880873494bd1d58b275b6ad Mon Sep 17 00:00:00 2001
From: black-goat-me <226547893@qq.com>
Date: 星期五, 19 五月 2023 23:59:16 +0800
Subject: [PATCH] 工序流转卡维护:单据变更(实际发布)

---
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs |  267 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 156 insertions(+), 111 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index e8e3b3b..0b69b2c 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -118,6 +118,7 @@
                 double HWorkTimes = list[0].HWorkTimes;//宸ユ椂
                 long HQCCheckID = list[0].HQCCheckID;//妫�楠屽憳ID
                 long HPRDOrgID = list[0].HPRDOrgID;//缁勭粐ID
+                double HmaterOutqty = list[0].HmaterOutqty;//鐧藉澂鍙戝竷
                 //鍗曟嵁瀹屾暣鎬у垽鏂�
                 if (HProcExchInterID <= 0)
                 {
@@ -176,14 +177,6 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                if (HEmpID == 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鎿嶄綔鍛樻病鏈夐�夋嫨锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
                 //if (HQCCheckID == 0)
                 //{
                 //    objJsonResult.code = "0";
@@ -192,14 +185,42 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-                //if (HSourceID == 0)
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 0;
-                //    objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
-                //    objJsonResult.data = null;
-                //    return objJsonResult;
-                //}
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string Ret = "";
+                if (oSystemParameter.ShowBill(ref Ret))
+                {
+                    //鍒ゆ柇瀹㈡埛涓嶄负榫欏北姹介厤
+                    if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤"&& oSystemParameter.omodel.WMS_CampanyName != "鐟炰笌绁�") //绯荤粺鍙傛暟                      
+                    {
+                        if (HSourceID == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }                                     
+                    }
+                    //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
+                    else if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤")
+                    {
+                        //鍒ゆ柇鏄惁涓哄宸ヤ綅
+                        ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill_Detail where 宸ュ簭ID = " + HProcID + " and 鐗╂枡ID = " + HMaterID + " and 娴佽浆鍗″彿 = '" + HProcExchBillNo + "'", "h_v_GetStationOutBill_Detail");
+                        if (ds != null && ds.Tables[0].Rows.Count <= 1)
+                        {
+                            if (HEmpID == 0)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鎿嶄綔鍛樻病鏈夐�夋嫨锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                }
+               
                 //if (HCenterID == 0)
                 //{
                 //    objJsonResult.code = "0";
@@ -282,6 +303,7 @@
                     ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                     ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                     ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
+                       ",HmaterOutqty" +
                     ") " +
                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                     "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
@@ -291,7 +313,7 @@
                     "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                     "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                     "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
-                    ") ");
+                     ","+ HmaterOutqty + ") ");
                 }
                 else if ("Modify".Equals(eventType))
                 {
@@ -1603,14 +1625,22 @@
                 DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                 if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
-                    if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
+                    string sReturn = "";
+                    if (oSystemParameter.ShowBill(ref sReturn))
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (oSystemParameter.omodel.MES_StationOutBill_DeleteCtl == "Y")
+                        {
+                            if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
                     }
+                   
 
                     SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                     DataSet ds;
@@ -1637,6 +1667,17 @@
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
                         objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationOutBill_DeleteRelationCtl'", "h_p_DelOutInBill");
+
+                    if (ds.Tables[0].Rows[0][0].ToString()== "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绯荤粺鍙傛暟鎺у埗,宸叉湁涓嬮亾宸ュ簭,涓嶈兘鍒犻櫎锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -2137,100 +2178,104 @@
         #endregion
 
         #region 鏄庣粏 淇濆瓨/缂栬緫鍔熻兘
-        //[Route("Cj_StationOutBill/AddBill_Detail")]
-        //[HttpPost]
-        //public object AddBill_Detail([FromBody] JObject sMain)
-        //{
-        //    try
-        //    {
-        //        var _value = sMain["sMainSub"].ToString();
-        //        string msg1 = _value.ToString();
-        //        oCN.BeginTran();
-        //        //淇濆瓨涓昏〃
-        //        objJsonResult = Add_Detail(msg1);
-        //        if (objJsonResult.code == "0")
-        //        {
-        //            oCN.RollBack();
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = objJsonResult.Message;
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
-        //        oCN.Commit();
-        //        objJsonResult.code = "1";
-        //        objJsonResult.count = 1;
-        //        objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
+        [Route("Cj_StationOutBill/AddBill_Detail")]
+        [HttpPost]
+        public object AddBill_Detail([FromBody] JObject sMain)
+        {
+            try
+            {
+                var _value = sMain["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = Add_Detail(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
 
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        oCN.RollBack();
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 0;
-        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
-        //    }
-        //}
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
 
-        //public json Add_Detail(string msg1)
-        //{
-        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-        //    string msg2 = sArray[0].ToString(); //琛ㄥご鏁版嵁
-        //    string msg3 = sArray[1].ToString(); //琛ㄤ綋鏁版嵁
-        //    int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
-        //    string user = sArray[3].ToString(); //鐢ㄦ埛鍚�
-        //    try
-        //    {                              
-        //        List<ClsSc_StationOutBillSub_Emp> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg2);
+        public json Add_Detail(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString(); //琛ㄥご鏁版嵁
+            string msg3 = sArray[1].ToString(); //琛ㄤ綋鏁版嵁
+            var a = sArray[2].ToString();
+            int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[3].ToString(); //鐢ㄦ埛鍚�
+            try
+            {
+                msg2 = "[" + msg2.ToString() + "]";
+                List<ClsSc_StationOutBillSub_Emp> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg2);
+                List<ClsSc_StationOutBillSub_Emp> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg3);
 
-        //        List<ClsSc_StationOutBillSub_Emp> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg3);
-             
-        //        long HWorkEmpID = subList[0].HWorkEmpID;
-        //        long HWorkSourceID = subList[0].HWorkSourceID;
-        //        decimal HQty = subList[0].HQty;
-        //        decimal HRate = subList[0].HRate;
-        //        decimal HProcPrice = subList[0].HProcPrice;
-        //        decimal HMoney = subList[0].HMoney;
-        //        long HWorkProcID = mainList[0].HWorkProcID;           
+                long HInterID = mainList[0].HInterID;
+                long HWorkEmpID = subList[0].HWorkEmpID;
+                long HWorkSourceID = subList[0].HWorkSourceID;
+                decimal HQty = subList[0].HQty;
+                decimal HRate = subList[0].HRate;
+                decimal HProcPrice = subList[0].HProcPrice;
+                decimal HMoney = subList[0].HMoney;
+                long HWorkProcID = mainList[0].HWorkProcID;
+                var EntryID = 0;
+                foreach (ClsSc_StationOutBillSub_Emp oSub in subList)
+                {
+                    //ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_ICMOBillList");
 
-        //        foreach (ClsSc_StationOutBillSub_Emp oSub in subList)
-        //        {
-        //            //ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_ICMOBillList");
+                    if ((OperationType == 1 || OperationType == 2))//鏂板 && ds.Tables[0].Rows.Count == 0
+                    {
+                        EntryID++;
 
-        //            if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
-        //            {
-        //                //涓昏〃
-        //                oCN.RunProc(@"Insert Into Sc_StationOutBillSub_Emp   
-        //                    (HBillNo_bak ,HCloseMan ,HEntryCloseDate ,HCloseType ,HRemark ,HSourceInterID
-        //                    ,HSourceEntryID ,HSourceBillNo ,HSourceBillType ,HRelationQty ,HRelationMoney 
-        //                    ,HWorkEmpID ,HWorkSourceID ,HQty ,HRate ,HProcPrice 
-        //                    ,HMoney ,HWorkProcID)
-        //                    values('3710',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'," + HPRDORGID +
-        //                "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
-        //                ",'" + HSeOrderBillNo + "'," + HSeOrderInterID + "," + HSeOrderEntryID + "," + HEmpID + "," + HCusID +
-        //                "," + HCenterID + ",0,0,0,0," + HBomID + ",'','') ");
-        //            }               
-        //        }
+                        string sql = string.Empty;
+                        sql = $@"
+                        Insert into Sc_StationOutBillSub_Emp 
+                        (HInterID,HEntryID,HBillNo_bak ,HRemark ,HSourceInterID
+                        ,HSourceEntryID ,HSourceBillNo ,HSourceBillType ,HRelationQty ,HRelationMoney 
+                        ,HWorkEmpID ,HWorkSourceID ,HQty ,HRate ,HProcPrice ,HMoney ,HWorkProcID) 
+                        values(" + HInterID + "," + EntryID + "," + "'" + mainList[0].HBillNo_bak + "','" + mainList[0].HRemark + "'," + 0 + "," + 0 + ",'" + " " + "','" + " " + "'," + 
+                        "0" + "," + 0 + "," + oSub.HWorkEmpID + "," + oSub.HWorkSourceID + "," + oSub.HQty + "," + oSub.HRate + "," + oSub.HProcPrice + "," + oSub.HMoney + "," + HWorkProcID + ")";
 
-        //        objJsonResult.code = "1";
-        //        objJsonResult.count = 1;
-        //        objJsonResult.Message = null;
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 0;
-        //        objJsonResult.Message = "Exception锛�" + e.ToString();
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
-        //    }
-        //}
+                        oCN.RunProc(sql);
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1