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