From d03c33eeebd11111ee6c116b35ccf8cd7372de8d Mon Sep 17 00:00:00 2001 From: duhe <226547893@qq.com> Date: 星期二, 15 四月 2025 12:57:37 +0800 Subject: [PATCH] 提料信息Excel导入:根据宝工客户进行调整 --- WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 254 insertions(+), 0 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs b/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs index 6465722..5f3ddc6 100644 --- a/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs @@ -91,6 +91,50 @@ } } + [Route("Sc_PPBomBill/Editlist")] + [HttpGet] + public object Editlist(string sWhere) + { + try + { + List<object> a = new List<object>(); + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + + + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn("select * from h_v_IF_PPBomBillList order by hmainid desc ", "h_v_IF_PPBomBillList"); + } + else + { + string sql1 = "select * from h_v_IF_PPBomBillList where 1 = 1 "; + string sql = sql1 + sWhere + " order by hmainid desc "; + ds = oCN.RunProcReturn(sql, "h_v_IF_PPBomBillList"); + } + foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢� + { + Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺� // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆 + a.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = a; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #region 鐢熶骇鐢ㄦ枡娓呭崟鍒楄〃鍒嗛〉鍒楄〃 [Route("Sc_PPBomBill/page")] @@ -304,6 +348,216 @@ } #endregion + #region 鐢熶骇鐢ㄦ枡鍗� 淇濆瓨/缂栬緫鍔熻兘 鏂版柟娉� + [Route("Sc_PPBomBill/sc_PPBomBillAdd")] + [HttpPost] + public object sc_PPBomBillAdd([FromBody] JObject sMainSub) + { + var _value = sMainSub["sMainSub"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + + try + { + string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁 + string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁 + int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼 + string user = sArray[3].ToString(); + + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犵紪杈戞潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsSc_PPBomBillMain list = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_PPBomBillMain>(msg2); + string BillType = "3720"; + string HBillSubType = "3720"; + long HInterID = list.HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D + string HBillNo = list.HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿 + int HBillStatus = 1; + string HMaker = user;//鍒跺崟浜� + int HYear = DateTime.Now.Year; + double HPeriod = DateTime.Now.Month; + long HICMOInterID = list.HICMOInterID;//浠诲姟鍗旾D + long HICMOEntryID = list.HICMOEntryID;//浠诲姟鍗旾D + string HICMOBillNo = list.HICMOBillNo;//浠诲姟鍗旾D + long HMaterID = list.HMaterID;//浜у搧ID + long HUnitID = list.HUnitID;//璁¢噺鍗曚綅 + long HPRDORGID = list.HPRDORGID;//缁勭粐ID + long HICMOEntrySEQ = list.HICMOEntrySEQ; + DateTime HDate = list.HDate; + double HQty = list.HQty; + long HDeptID = list.HDeptID; + string HRemark = list.HRemark; + string HChecker = ""; + string HCheckDate = ""; + string HSeOrderBillNo = ""; + long HSeOrderInterID = 0; + long HSeOrderEntryID = 0; + long HENTRUSTORGID = 0; + long HPARENTOWNERID = 0; + long HPARENTOWNERTYPEID = 0; + long HERPInterID = 0; + long HSeOrderEntrySEQ = 0; + string HERPBillType = ""; + string HREQSRC = ""; + + oCN.BeginTran(); + if (OperationType== 1) + { + ds = oCN.RunProcReturn("select * from Sc_PPBomBillMain where HBillNo='" + HBillNo + "'", "Sc_PPBomBillMain"); + if (ds.Tables[0].Rows.Count == 1) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒"; + objJsonResult.data = null; + return objJsonResult; + } + //涓昏〃 + oCN.RunProc(@"Insert Into Sc_PPBomBillMain + (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus,HICMOInterID + ,HICMOEntryID,HMaterID,HUnitID,HQty,HDeptID,HMaker,HMakeDate,HChecker,HCheckDate + ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HPRDORGID,HENTRUSTORGID,HPARENTOWNERID + ,HPARENTOWNERTYPEID,HERPInterID,HERPBillType,HSeOrderEntrySEQ,HICMOEntrySEQ,HREQSRC,HRemark) + values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + BillType + "','" + + HBillSubType + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "'," + HICMOInterID + + "," + HICMOEntryID + ",'" + HMaterID + "'," + HUnitID + "," + HQty + "," + HDeptID + + ",'" + HMaker + "',getdate(),'" + HChecker + "','" + HCheckDate + "','" + HSeOrderBillNo + "'," + HSeOrderInterID + "," + HSeOrderEntryID + "," + HPRDORGID + "," + HENTRUSTORGID + "," + HPARENTOWNERID + "," + + HPARENTOWNERTYPEID + "," + HERPInterID + ",'" + HERPBillType + "'," + HSeOrderEntrySEQ + "," + HICMOEntrySEQ + ",'" + HREQSRC + "','"+ HRemark + "')"); + } + else if (OperationType == 3 ) + { //淇敼 + oCN.RunProc("update Sc_PPBomBillMain set " + + "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" + + ",HDeptID=" + HDeptID + ",HICMOInterID=" + HICMOInterID + ",HICMOEntryID=" + HICMOEntryID + ",HMaterID=" + HMaterID + ",HUnitID=" + HUnitID + ",HICMOEntrySEQ=" + HICMOEntrySEQ + " ,HQty=" + HQty + " where HInterID=" + HInterID); + + //鍒犻櫎瀛愯〃 + oCN.RunProc("delete from Sc_PPBomBillSub where HInterID='" + HInterID + "'"); + } + else + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎿嶄綔绫诲瀷鏃犳晥锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + List<ClsSc_PPBomBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_PPBomBillSub>>(msg3); + int i = 0; + foreach (ClsSc_PPBomBillSub oSub in DetailColl) + { + i++; + string HMaterNumber = oSub.HMaterNumber; + string HUnitNumber = oSub.HUnitNumber; + long HQtyMust = 0; + long HSourceInterID = oSub.HSourceInterID; + long HSourceEntryID = oSub.HSourceEntryID; + long HCHILDSUPPLYORGID = oSub.HCHILDSUPPLYORGID; + long HSUPPLYORGID = oSub.HSUPPLYORGID; + long HENTRUSTPICKORGID = oSub.HENTRUSTPICKORGID; + long HSRCTRANSORGID = oSub.HSRCTRANSORGID; + long HGROUPBYOWNERID = oSub.HGROUPBYOWNERID; + long HOWNERID = oSub.HOWNERID; + long HAuxPropID = oSub.HAuxPropID; + long HERPEntryID = oSub.HERPEntryID; + long HProcessID = oSub.HProcessID; + long HICMOENTRYSEQ = oSub.HICMOENTRYSEQ; + long HOPERID = oSub.HOPERID; + long HSEQ = i; + long HSTOCKSTATUSID = oSub.HSTOCKSTATUSID; + long HOPTQUEUE = oSub.HOPTQUEUE; + long HLOT = oSub.HLOT; + long HRESERVETYPE = oSub.HRESERVETYPE; + string HOWNERTYPEID = oSub.HOWNERTYPEID; + double HRelationQty = oSub.HRelationQty; + double HMoveStockQty = oSub.HMoveStockQty; + double HQtyScrap = oSub.HQtyScrap; + double HBackRelationQty = oSub.HBackRelationQty; + double HNumerator = oSub.HNumerator; + double HDenominator = oSub.HDenominator; + double HSelPickedQty = oSub.HSelPickedQty; + double HSELPRCDRETURNQTY = oSub.HSELPRCDRETURNQTY; + string HSourceBillNo = oSub.HSourceBillNo; + string HSourceBillType = oSub.HSourceBillType; + string HBatchNO = oSub.HBatchNO; + string HMTONo = oSub.HMTONo; + string HPROJECTNO = oSub.HPROJECTNO; + + if (oSub.HQty <= 0 || oSub.HQty == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绗�" + i + "琛岋紝鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0"; + objJsonResult.data = null; + return objJsonResult; + } + + if (oSub.HMaterID == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绗�" + i + "琛岋紝鐗╂枡涓嶈兘涓虹┖"; + objJsonResult.data = null; + return objJsonResult; + } + + if (oSub.HUnitID == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绗�" + i + "琛岋紝璁¢噺鍗曚綅涓嶈兘涓虹┖"; + objJsonResult.data = null; + return objJsonResult; + } + + Int64 NewHEntryID = i; + + oCN.RunProc($@"Insert into Sc_PPBomBillSub + (HInterID,HEntryID,HMaterID,HMaterNumber,HUnitID,HUnitNumber,HSPID,HQty,HQtyMust,HWHID,HRemark + ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HICMOInterID,HICMOEntryID,HICMOBillNo + ,HCHILDSUPPLYORGID,HSUPPLYORGID,HENTRUSTPICKORGID,HSRCTRANSORGID,HGROUPBYOWNERID,HOWNERID,HOWNERTYPEID + ,HRelationQty,HMoveStockQty,HAuxPropID,HBatchNO,HMTONo,HQtyScrap,HERPInterID,HERPEntryID + ,HBackRelationQty,HNumerator,HDenominator,HBASEUNITID,HProcessID,HICMOENTRYSEQ,HPROJECTNO + ,HOPERID,HSEQ,HSTOCKSTATUSID,HLOT,HOPTQUEUE,HRESERVETYPE,HSelPickedQty,HSELPRCDRETURNQTY) + values({HInterID},{NewHEntryID},{oSub.HMaterID},'{HMaterNumber}',{oSub.HUnitID},'{HUnitNumber}',{oSub.HSPID},{(oSub.HQty == null ? 0 : oSub.HQty)} + ,{HQtyMust},{oSub.HWHID},'{oSub.HRemark}',{HSourceInterID},{HSourceEntryID},'{HSourceBillNo}','{HSourceBillType}',{HICMOInterID},{HICMOEntryID},'{HICMOBillNo}',{HCHILDSUPPLYORGID},{HSUPPLYORGID},{HENTRUSTPICKORGID},{HSRCTRANSORGID},{HGROUPBYOWNERID},{HOWNERID},'{HOWNERTYPEID}',{HRelationQty},{HMoveStockQty},{HAuxPropID},'{HBatchNO}','{HMTONo}',{HQtyScrap},{HERPInterID}, + {HERPEntryID},{HBackRelationQty},{HNumerator},{HDenominator},{oSub.HBASEUNITID},{HProcessID},{HICMOENTRYSEQ},'{HPROJECTNO}',{HOPERID},{HSEQ},{HSTOCKSTATUSID},{HLOT},{HOPTQUEUE},{HRESERVETYPE},{HSelPickedQty},{HSELPRCDRETURNQTY})"); + } + + + + 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 = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + + + #endregion + #region 鐢熶骇鐢ㄦ枡鍗� 淇濆瓨/缂栬緫鍔熻兘 [Route("Sc_PPBomBill/PPBomBillEdit")] [HttpPost] -- Gitblit v1.9.1