From 0910a653b936af52e97633c70f6d6dee3f3f5a2b Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期二, 21 十月 2025 16:55:55 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/仓存管理/委外用料/WW_PPBomBillController.cs | 164 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 147 insertions(+), 17 deletions(-)
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
index d10b1d1..aa432bb 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
@@ -1,4 +1,6 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
@@ -26,6 +28,7 @@
{
try
{
+ List<object> columnNameList = new List<object>(); //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
//鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
if (!DBUtility.ClsPub.Security_Log("WW_PPBomBill_Query", 1, false, user))
{
@@ -38,22 +41,30 @@
ds = WW_PPBomBillList(sWhere);
- //if (ds.Tables[0].Rows.Count != 0 || ds != null)
- //{
- objJsonResult.code = "1";
- objJsonResult.count = 1;
- objJsonResult.Message = "Sucess锛�";
- objJsonResult.data = ds.Tables[0];
- return objJsonResult;
- //}
- //else
- //{
- //objJsonResult.code = "0";
- //objJsonResult.count = 0;
- //objJsonResult.Message = "鏃犳暟鎹�";
- //objJsonResult.data = null;
- //return objJsonResult;
- //}
+
+ if (ds.Tables[0].Rows.Count != 0 || ds != null)
+ {
+ 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鏍煎紡鐨勫瓧绗︿覆
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+ objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犳暟鎹�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
}
catch (Exception ex)
{
@@ -77,8 +88,127 @@
string sql = sql1 + sWhere + " order by hmainid desc";
return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_WW_PPBomBillList");
}
+
}
+
+
+ #region 濮斿鐢ㄦ枡娓呭崟璁㈠崟 閲戣澏鍚屾
+ [Route("WW_PPBomBillController/SaveWW_PPBomBillApi")]
+ [HttpPost]
+ public object SaveWW_PPBomBillApi([FromBody] JObject sMainSub)
+ {
+ LogService.Write("寮�濮嬪悓姝�");
+ try
+ {
+ LogService.Write($"鎺ユ敹鍒扮殑瀹屾暣鏁版嵁: {sMainSub.ToString()}");
+ var model = sMainSub["model"].ToString();
+ var entry = sMainSub["model"]["HENTRY"].ToString();
+ model = "[" + model.ToString() + "]";
+ LogService.Write($"涓昏〃妯″瀷JSON: {model}");
+ LogService.Write($"瀛愯〃妯″瀷JSON: {entry}");
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ ListModels oListModels = new ListModels();
+ List<ClsWW_PPBomBill> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBill>>(model);
+ List<ClsWW_PPBomBillSubERP> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBillSubERP>>(entry);
+ // 娣诲姞绫诲瀷妫�鏌ユ棩蹇�
+ LogService.Write($"涓昏〃HInterID绫诲瀷: {mainList[0].HInterID.GetType()}");
+ LogService.Write($"涓昏〃HInterID鍊�: {mainList[0].HInterID}");
+ string sql = string.Empty;
+ LogService.Write($"涓绘ā鍨嬫暟鎹畕mainList}");
+ LogService.Write($"瀛愭ā鍨嬫暟鎹畕subList}");
+ //淇濆瓨
+ oCN.BeginTran();
+ int hInterID = mainList[0].HInterID;
+ LogService.Write($"寮�濮嬪鐞� HInterID: {hInterID}");
+
+ string checkSql = $"SELECT COUNT(1) FROM WW_PPBomBillSub WHERE HInterID = {hInterID}";
+ LogService.Write($"妫�鏌ュ瓙琛ㄦ暟鎹槸鍚﹀瓨鍦�: {checkSql}");
+
+ // 2. 鍒犻櫎瀛愯〃鏁版嵁
+ string deleteSubSql = $"DELETE FROM WW_PPBomBillSub WHERE HInterID = {hInterID}";
+ LogService.Write($"鍒犻櫎瀛愯〃SQL: {deleteSubSql}");
+ oCN.RunProc(deleteSubSql, ref DBUtility.ClsPub.sExeReturnInfo);
+ LogService.Write("瀛愯〃鏁版嵁鍒犻櫎瀹屾垚");
+
+ // 3. 鍒犻櫎涓昏〃鏁版嵁
+ string deleteMainSql = $"DELETE FROM WW_PPBomBillMain WHERE HInterID = {hInterID}";
+ LogService.Write($"鍒犻櫎涓昏〃SQL: {deleteMainSql}");
+ oCN.RunProc(deleteMainSql, ref DBUtility.ClsPub.sExeReturnInfo);
+ LogService.Write("涓昏〃鏁版嵁鍒犻櫎瀹屾垚");
+
+
+ oCN.RunProc($@"insert into WW_PPBomBillMain
+ (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+ ,HBillNo,HBillStatus,HICMOInterID,HICMOEntryID,HSUBBILLNO,HSUBREQENTRYSEQ
+ ,HMaterID,HUnitID,HQty,HSupID,HDEPTID,HPOOrderBillNo,HPOOrderSeq
+ ,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate
+ ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderSEQ
+ ,HPRDORGID,HENTRUSTORGID,HPARENTOWNERID,HPARENTOWNERTYPEID
+ ,HERPInterID,HERPBillType,HSETTLEORGID,HREQSRC)
+ values({mainList[0].HInterID},'{mainList[0].HYear}','{mainList[0].HPeriod}','{mainList[0].HBillType}','{mainList[0].HBillSubType}','{mainList[0].HDate}','{mainList[0].HBillNo}'
+ ,'{mainList[0].HBillStatus}','{mainList[0].HICMOInterID}','{mainList[0].HICMOEntryID}','{mainList[0].HSUBBILLNO}','{mainList[0].HSUBREQENTRYSEQ}','{mainList[0].HMaterID}',{mainList[0].HUnitID},'{mainList[0].HQty}','{mainList[0].HSupID}','{mainList[0].HDeptID}',
+ '{mainList[0].HPOOrderBillNo}','{mainList[0].HPOOrderSeq}','{mainList[0].HMaker}','{mainList[0].HMakeDate}','{mainList[0].HChecker}','{mainList[0].HCheckDate}','{mainList[0].HUpDater}','{mainList[0].HUpDateDate}','{mainList[0].HSeOrderBillNo}','{mainList[0].HSeOrderInterID}','{mainList[0].HSeOrderEntryID}','{mainList[0].HSeOrderSEQ}'
+ ,'{mainList[0].HPRDORGID}','{mainList[0].HENTRUSTORGID}','{mainList[0].HPARENTOWNERID}'
+ ,'{mainList[0].HPARENTOWNERTYPEID}','{mainList[0].HERPInterID}','{mainList[0].HERPBillType}','{mainList[0].HSETTLEORGID}','{mainList[0].HREQSRC}'
+
+)", ref DBUtility.ClsPub.sExeReturnInfo);
+ LogService.Write("涓昏〃鎻掑叆鎴愬姛");
+
+ foreach (var oSub in subList)
+ {
+ var count = subList.Count();
+ LogService.Write($"瀛愯〃鏁版嵁鏉℃暟涓簕count}");
+ //鏂板瀛愯〃锛�
+ oCN.RunProc($@" insert into WW_PPBomBillSub
+ (HInterID,HEntryID,HMaterID,HUnitID,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
+ ,HPROCESSID,HBASEUNITID,HPROJECTNO,HOPERID,HSEQ
+ ,HSTOCKSTATUSID,HRESERVETYPE
+ )
+ values({oSub.HInterID},'{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}',{oSub.HQtyMust},'{oSub.HWHID}',
+ '{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HICMOInterID },'{oSub.HICMOEntryID}','{oSub.HICMOBillNo}','{oSub.HCHILDSUPPLYORGID}','{oSub.HSUPPLYORGID}'
+ ,'{oSub.HENTRUSTPICKORGID}','{oSub.HSRCTRANSORGID}','{oSub.HGROUPBYOWNERID}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HRelationQty}','{oSub.HMoveStockQty}','{oSub.HAuxPropID}','{oSub.HBatChNo}','{oSub.HMTONo}','{oSub.HQtyScrap}',
+ {oSub.HERPInterID},'{oSub.HERPEntryID}','{oSub.HBackRelationQty}','{oSub.HPROCESSID}',{oSub.HBASEUNITID },'{oSub.HPROJECTNO}','{oSub.HOPERID}','{oSub.HSEQ}','{oSub.HSTOCKSTATUSID}','{oSub.HRESERVETYPE}'
+ )", ref DBUtility.ClsPub.sExeReturnInfo);
+ }
+ LogService.Write("瀛愯〃鎻掑叆鎴愬姛");
+
+
+
+
+
+ oCN.Commit();
+
+
+
+
+
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ LogService.Write("寮傚父淇℃伅锛�" + e.ToString());
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
#endregion
+
}
+
+ #endregion
}
+
--
Gitblit v1.9.1