From ae6d084d0f4fdeca79b3f635801ac1f455ad7734 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 15 八月 2024 10:54:48 +0800
Subject: [PATCH] 斯莫尔:宜搭-数据同步、钉钉-智能人事-花名册同步

---
 WebAPI/Controllers/BaseSet/Gy_MaterialController.cs |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 167 insertions(+), 6 deletions(-)

diff --git a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
index f6519ae..596820f 100644
--- a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -13,6 +13,7 @@
 using System.Windows.Forms;
 using WebAPI.Models;
 using WebAPI.Service;
+using System.Text.RegularExpressions;
 
 namespace WebAPI.Controllers
 {
@@ -113,6 +114,84 @@
                 return objJsonResult;
             }
         }
+
+        #region 鐗╂枡鏍规嵁鍒嗙被鑾峰彇鏈�澶х墿鏂欑紪鐮�
+        [Route("Gy_Material/getMaxNum")]
+        [HttpGet]
+        public object getMaxNum(int HMaterTypeID, string user, string Organization)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HMaterTypeID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁閫夋嫨鍏蜂綋鍒嗙被锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn(@"select * from h_v_Gy_MaterialList where 缁勭粐鍚嶇О='" + Organization + "'" + "and HMaterTypeID = '"+ HMaterTypeID + "'" + " order by 鐗╂枡浠g爜 desc", "h_v_Gy_MaterialList");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "娌℃湁鎵惧埌璇ュ垎绫荤殑鐗╂枡缂栫爜璇蜂娇鐢ㄦ櫘閫氭柊澧�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    string HNumber = ds.Tables[0].Rows[0]["鐗╂枡浠g爜"].ToString();
+                    // 浣跨敤姝e垯琛ㄨ揪寮忔壘鍒版暟瀛楅儴鍒�  (?<=\D)鏄竴涓浂瀹芥柇瑷�锛岃〃绀哄墠闈㈢殑瀛楃涓嶆槸鏁板瓧 (\d+)$琛ㄧず鍚庨潰璺熺潃涓�杩炰覆瀛楃涓茬煡閬撴湯灏�
+                    Match match = Regex.Match(HNumber, @"(?<=\D)(\d+)$");
+                    if (match.Success)
+                    {
+                        string prefix = HNumber.Substring(0, HNumber.Length - match.Length); // 鎻愬彇鍓嶇紑  
+                        int number = int.Parse(match.Value); // 瑙f瀽鏁板瓧  
+                        // 鏁板瓧+1  
+                        number++;
+                        // 鏍煎紡鍖栨暟瀛楋紝淇濇寔鍘熼暱搴�  
+                        string formattedNumber = number.ToString().PadLeft(match.Length, '0');
+                        // 閲嶆柊缁勫悎瀛楃涓�  
+                        string result = prefix + formattedNumber;
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "success";
+                        objJsonResult.data = result;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "姝ゅ垎绫荤墿鏂欑紪鐮佹牸寮忔湁璇�";
+                        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
+
 
         /// <summary>
         /// 鐗╂枡璁剧疆鑾峰彇淇℃伅
@@ -1156,6 +1235,34 @@
         }
         #endregion
 
+        #region[鍣ㄥ叿妗f缂栬緫鏃惰幏鍙栧瓙琛ㄦ暟鎹甝
+        [Route("Gy_MouldFileMain/Gy_MouldFileSubDetai")]
+        [HttpGet]
+        public object Gy_MouldFileSubDetai(long HInterID)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_MouldFileSub_MaintainRule AS a left join Sc_MouldMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_MouldFileBill_MaintainRule");
+                tableList.Add(ds.Tables[0]);
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_MouldFileSub_DotCheckRule AS a left join Sc_MouldDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_MouldFileBill_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
         /// <summary>
         /// 鏂板妯″叿妗f-淇濆瓨鎸夐挳
         ///鍙傛暟锛歴tring sql銆�
@@ -1185,7 +1292,6 @@
             objJsonResult = AddBillMain(msg1);
             if (objJsonResult.code == "0")
             {
-                oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = objJsonResult.Message;
@@ -1206,6 +1312,8 @@
             string msg3 = sArray[1].ToString();//妯″潡鏉冮檺
             string msg4 = sArray[2].ToString();//褰撳墠浜�
             string msg5 = sArray[3].ToString();//瀛愯〃鏁版嵁
+            string msg6 = sArray[4].ToString();//瀛愯〃1鏁版嵁
+            string msg7 = sArray[5].ToString();//瀛愯〃2鏁版嵁
             try
             {
                 msg2 = "[" + msg2.ToString() + "]";
@@ -1295,7 +1403,7 @@
                 ",0,0,'','',0,0 " +
                 ") ");
 
-                objJsonResult = AddBillSub(msg5,HInterID, HBillNo);
+                objJsonResult = AddBillSub(msg5,msg6,msg7,HInterID, HBillNo);
 
                 if (objJsonResult.code == "0")
                 {
@@ -1314,6 +1422,7 @@
             }
             catch (Exception e)
             {
+                oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "Exception锛�" + e.ToString();
@@ -1339,6 +1448,8 @@
             string msg3 = sArray[1].ToString();//妯″潡鏉冮檺
             string msg4 = sArray[2].ToString();//褰撳墠浜�
             string msg5 = sArray[3].ToString();//瀛愯〃鏁版嵁
+            string msg6 = sArray[4].ToString();//瀛愯〃2鏁版嵁
+            string msg7 = sArray[5].ToString();//瀛愯〃3鏁版嵁
             try
             {
                 if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4))
@@ -1471,8 +1582,9 @@
                 // oCN.RunProc("Update Gy_Department set HEndflag=0 where HItemID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
 
                 oCN.RunProc("delete from Gy_MouldFileSub_SubMater where HInterID='" + HInterID + "'");
-
-                objJsonResult = AddBillSub(msg5, HInterID, HBillNo);
+                oCN.RunProc("delete from Gy_MouldFileSub_MaintainRule where HInterID='" + HInterID + "'");
+                oCN.RunProc("delete from Gy_MouldFileSub_DotCheckRule where HInterID='" + HInterID + "'");
+                objJsonResult = AddBillSub(msg5, msg6, msg7, HInterID, HBillNo);
 
                 oCN.Commit();
                 objJsonResult.code = "1";
@@ -1492,9 +1604,12 @@
             }
         }
 
-        public json AddBillSub(string msg5, long HInterID, string HBillNo)
+        public json AddBillSub(string msg5, string msg6, string msg7, long HInterID, string HBillNo)
         {
             List<Gy_MouldFileSub_SubMater> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_MouldFileSub_SubMater>>(msg5);
+            List<ClsGy_MouldFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_MouldFileBillSub_MaintainRule>>(msg6);
+
+            List<ClsGy_MouldFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_MouldFileBillSub_DotCheckRule>>(msg7);
             int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
             foreach (Gy_MouldFileSub_SubMater oSub in DetailColl)
             {
@@ -1517,6 +1632,50 @@
                     "')";
 
                 oCN.RunProc(sql);
+            }
+            i = 0;
+            //淇濆瓨淇濆吇瑙勬牸
+            foreach (ClsGy_MouldFileBillSub_MaintainRule oSub in MaintainRuleColl)
+            {
+                i++;
+                Int64 NewHEntryID = i;
+                Int64 newHFlag = 1;
+                if (oSub.HStdFlag == true)
+                {
+                    newHFlag = 1;
+                }
+                else
+                {
+                    newHFlag = 0;
+                }
+                oCN.RunProc($@"Insert into Gy_MouldFileSub_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_MouldFileBillSub_DotCheckRule oSub in DotCheckRuleColl)
+            {
+                i++;
+                Int64 NewHEntryID = i;
+                Int64 newHFlag = 1;
+                if (oSub.HStdFlag == true)
+                {
+                    newHFlag = 1;
+                }
+                else
+                {
+                    newHFlag = 0;
+                }
+                oCN.RunProc($@"Insert into Gy_MouldFileSub_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})");
             }
 
             objJsonResult.code = "1";
@@ -1612,6 +1771,8 @@
                 }
                 if (oBill.DeleteBill(hmainid, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
+                    oCN.RunProc("Delete From Gy_MouldFileSub_MaintainRule  where HInterID=" + hmainid);
+                    oCN.RunProc("Delete From Gy_MouldFileSub_DotCheckRule  where HInterID=" + hmainid);
                     //鍐欏叆鏃ュ織
                     ClsPub.Add_Log("", "鍒犻櫎椤圭洰锛屼唬鐮侊細" + oBill.omodel.HMouldNo + ",鍚嶇О锛�" + oBill.omodel.HName, ClsPub.CurUserName);
                     //鏇存柊涓婄骇涓� 鏈骇
@@ -1869,7 +2030,7 @@
                 ,HPERUNITSTANDHOUR,HSTDLABORPREPARETIME,HSTDMACHINEPREPARETIME
                  )
                 values
-                ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}','{jsonData.HModel}',
+                ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}','{jsonData.HModel}',
                 '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}',{jsonData.HMaterClsID},{jsonData.HUnitID},{jsonData.HUnitGroupID},{jsonData.HLength},{jsonData.HWidth},{jsonData.HHeight},{jsonData.HJQty},{jsonData.HMQty},'{jsonData.HOldMaterNumber}',{jsonData.HWHID},{jsonData.HSPID},'{jsonData.HPlanMode}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HMinPickQty},{jsonData.HCREATEORGID},{jsonData.HUSEORGID},'{jsonData.HBatchManager}',{jsonData.HCHECKINCOMING},{jsonData.HAuxPropFlag},{jsonData.HISKFPERIOD},{jsonData.HAuxUnitID},{jsonData.HSNUnitID},{jsonData.HBASEUNITID},{jsonData.HSALEUNITID},{jsonData.HSALEPRICEUNITID},{jsonData.HPERUNITSTANDHOUR},'{jsonData.HSTDLABORPREPARETIME}','{jsonData.HSTDMACHINEPREPARETIME}')";
 
                     oCN.RunProc(sql);

--
Gitblit v1.9.1