From fd0dd6012b6d710896232f983a738f4b08525a8f Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期四, 27 六月 2024 10:48:44 +0800
Subject: [PATCH] 设备器具添加两子表页签api

---
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs |  182 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 164 insertions(+), 18 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index c083f5e..f037983 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -94,6 +94,7 @@
                 return objJsonResult;
             }
             DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain();
+            oCN.BeginTran();
             ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain");
             if (ds.Tables[0].Rows.Count > 0)
             {
@@ -107,6 +108,9 @@
                 }
 
                 oCN.RunProc("Delete From Gy_EquipFileBillMain  where HInterID=" + lngBillKey);
+                oCN.RunProc("Delete From Gy_EquipFileBillSub_MaintainRule  where HInterID=" + lngBillKey);
+                oCN.RunProc("Delete From Gy_EquipFileBillSub_DotCheckRule  where HInterID=" + lngBillKey);
+                oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鍒犻櫎鎴愬姛";
@@ -121,6 +125,7 @@
                 objJsonResult.data = null;
                 return objJsonResult;
             }
+            
         }
 
         #endregion
@@ -151,6 +156,35 @@
         }
         #endregion
 
+        #region[璁惧妗f缂栬緫鏃惰幏鍙栧瓙琛ㄦ暟鎹甝
+        [Route("Gy_EquipFileMain/Gy_EquipFileSubDetai")]
+        [HttpGet]
+        public object Gy_EquipFileSubDetai(long HInterID)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_MaintainRule AS a left join Sb_EquipMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_MaintainRule");
+                tableList.Add(ds.Tables[0]);
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_DotCheckRule AS a left join Sb_EquipDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_DotCheckRule");
+                tableList.Add(ds.Tables[0]);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = tableList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 璁惧妗f鏂板淇濆瓨
         /// <summary>
         /// 妯℃不鍏峰垎绫�-淇濆瓨鎸夐挳
@@ -166,11 +200,12 @@
                 var _value = oMain["oMain"].ToString();
                 string msg1 = _value.ToString();
                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();
-                string msg4 = sArray[2].ToString();
+                string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+                string msg3 = sArray[1].ToString(); //瀛愯〃1
+                string msg4 = sArray[2].ToString(); //瀛愯〃2
+                string msg5 = sArray[3].ToString(); //鐢ㄦ埛
 
-                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -214,7 +249,7 @@
                 string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
                 string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
                 int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
-                string HMaker = msg4;
+                string HMaker = msg5;
                 string HMakeDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                 int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -228,22 +263,30 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                DataSet DS = oCN.RunProcReturn("Select * from Gy_EquipFileBillMain Where  HEquipFileNumber='" + HEquipFileNumber + "' and HInterID<>" + HInterID, "Gy_EquipFileBillMain", ref Pub_Class.ClsPub.sExeReturnInfo);
+
+                if (DS.Tables[0].Rows.Count != 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠g爜閲嶅锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
                 //涓昏〃
                 oCN.RunProc("Insert into Gy_EquipFileBillMain " +
-                   " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
+                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                    ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
 "HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID) " +
-                   " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
+                   " Values("+ HInterID+",'" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                    ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                    "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
                    "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1);
                 oCN.Commit();
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鏂板鎴愬姛锛�";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -271,11 +314,12 @@
                 var _value = oMain["oMain"].ToString();
                 string msg1 = _value.ToString();
                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();
-                string msg4 = sArray[2].ToString();
+                string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+                string msg3 = sArray[1].ToString(); //瀛愯〃1
+                string msg4 = sArray[2].ToString(); //瀛愯〃2
+                string msg5 = sArray[3].ToString(); //鐢ㄦ埛
 
-                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -315,7 +359,7 @@
                 string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
                 string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
                 int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
-                string HUpDater = msg4;
+                string HUpDater = msg5;
                 string HUpDateDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                 int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -382,10 +426,8 @@
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                 //
+                objJsonResult = AddBillSub(msg3, msg4, HInterID, list[0].HBillNo, 2);
                 oCN.Commit();
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "淇敼鎴愬姛锛�";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -401,6 +443,110 @@
         }
         #endregion
 
+        #region 璁惧妗f淇濆瓨瀛愯〃鏁版嵁
+        /// <summary>
+        /// 瀛愯〃鏁版嵁鏂板鎴栬�呯紪杈�
+        /// </summary>
+        /// <param name="msg3"></param>
+        /// <param name="msg4"></param>
+        /// <param name="HInterID"></param>
+        /// <param name="HBillNo"></param>
+        /// <param name="OperationType">1涓烘坊鍔�2涓虹紪杈�</param>
+        /// <returns></returns>
+        public json AddBillSub(string msg3, string msg4, long HInterID, string HBillNo, int OperationType)
+        {
+                List<ClsGy_EquipFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_MaintainRule>>(msg3);
+
+                List<ClsGy_EquipFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_DotCheckRule>>(msg4);
+                if (OperationType == 2)
+                {
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Gy_EquipFileBillSub_MaintainRule where HInterID = " + HInterID );
+                    oCN.RunProc("delete from Gy_EquipFileBillSub_DotCheckRule where HInterID = " + HInterID );
+                }
+                int i = 0;
+                //淇濆瓨淇濆吇瑙勬牸
+                foreach (ClsGy_EquipFileBillSub_MaintainRule oSub in MaintainRuleColl)
+                {
+                    i++;
+                    if (oSub.HMaintainRuleID <= 0 || oSub.HMaintainRuleID == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + i + "琛�,淇濆吇瑙勬牸涓嶈兘涓虹┖";
+                        objJsonResult.data = null;
+                        throw new Exception("淇濆吇瑙勬牸涓嶈兘涓虹┖");
+                }
+                    DataSet Cs;
+                    Int64 NewHEntryID = 1;
+                    Int64 newHFlag = 1;
+                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_MaintainRule", "Gy_EquipFileBillSub_MaintainRule");
+                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                    {
+                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                        NewHEntryID += 1;
+                    }
+                    if(oSub.HStdFlag == true)
+                    {
+                        newHFlag = 1;
+                    }
+                    else
+                    {
+                        newHFlag = 0;
+                    }
+                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_MaintainRule 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HMaintainRuleID,HStdFlag
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HMaintainRuleID},{newHFlag})");
+                }
+                i = 0;
+                //淇濆瓨鐐规瑙勭▼
+                foreach (ClsGy_EquipFileBillSub_DotCheckRule oSub in DotCheckRuleColl)
+                {
+                    i++;
+                    if (oSub.HDotCheckRuleID <= 0 || oSub.HDotCheckRuleID == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + i + "琛�,鐐规瑙勭▼涓嶈兘涓虹┖";
+                        objJsonResult.data = null;
+                        throw new Exception("鐐规瑙勭▼涓嶈兘涓虹┖");
+                    }
+                    DataSet Cs;
+                    Int64 NewHEntryID = 1;
+                    Int64 newHFlag = 1;
+                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_DotCheckRule", "Gy_EquipFileBillSub_DotCheckRule");
+                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                    {
+                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                        NewHEntryID += 1;
+                    }
+                    if (oSub.HStdFlag == true)
+                    {
+                        newHFlag = 1;
+                    }
+                    else
+                    {
+                        newHFlag = 0;
+                    }
+                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_DotCheckRule 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HDotCheckRuleID,HStdFlag
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HDotCheckRuleID},{newHFlag})");
+                }
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨瀛愯〃鎴愬姛锛�";
+                //objJsonResult.data = null;
+                return objJsonResult;
+        }
+        #endregion
+
         #region[璁惧灞ュ巻(鐐瑰嚮涓昏〃甯﹀嚭浠庤〃)]
         [Route("Gy_EquipFileMain/Sb_EquipFileBillResumeDate")]
         [HttpGet]

--
Gitblit v1.9.1