1
zrg
2025-10-20 7d6e94ce50f70464ebd27ceb8c2e88b95c48b704
1
7个文件已修改
5个文件已添加
683 ■■■■■ 已修改文件
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_PropertyController.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_SourceController.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/仓存管理/委外用料/WW_PPBomBillController.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsWW_PPBomBill.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsWW_PPBomBillSubERP.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache
Binary files differ
WebAPI/Controllers/BaseSet/Gy_PropertyController.cs
@@ -370,14 +370,23 @@
        [HttpPost]
        public object SaveGy_PropertyListApi([FromBody] JObject msg)
        {
            LogService.Write("开始同步");
            try
            {
                var _value = msg["model"].ToString();
                _value = _value.Replace("\"hendflag\": \"1\"", "\"hendflag\": true")
                               .Replace("\"hstopflag\": \"0\"", "\"hstopflag\": false")
                               .Replace("\"hendflag\": \"0\"", "\"hendflag\": false")
                               .Replace("\"hstopflag\": \"1\"", "\"hstopflag\": true");
                LogService.Write($"处理后的JSON: {_value}");
                //LogService.Write(_value);
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ListModels oListModels = new ListModels();
                List<Model.ClsGy_Property_Model> lsmain = new List<Model.ClsGy_Property_Model>();
                lsmain = oListModels.getObjectByJson_Gy_Property(_value);
                string sql = string.Empty;
                LogService.Write(lsmain);
                //保存
                oCN.BeginTran();
                sql = $"delete Gy_Property where HItemID = {lsmain[0].HItemID}";
@@ -385,20 +394,22 @@
                sql = "set identity_insert Gy_Property on";
                oCN.RunProc(sql);
                oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID
                oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HShortNumber,HName,HHelpCode,HParentID
                    ,HLevel,HEndFlag,HStopflag,HRemark,HPropertyTypeID,HUseFlag,HERPItemID,HMakeTime)
                  values({lsmain[0].HItemID},'{lsmain[0].HNumber}','{lsmain[0].HName}','{lsmain[0].HHelpCode}','{lsmain[0].HShortNumber}',{lsmain[0].HParentID},{lsmain[0].HLevel}
                  values({lsmain[0].HItemID},'{lsmain[0].HNumber}','{lsmain[0].HShortNumber}','{lsmain[0].HName}','{lsmain[0].HHelpCode}',{lsmain[0].HParentID},{lsmain[0].HLevel}
           ,{Convert.ToString(lsmain[0].HEndFlag ? 1 : 0)},{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[0].HRemark}',{lsmain[0].HPropertyTypeID},'{lsmain[0].HUseFlag}',{lsmain[0].HERPItemID},'{lsmain[0].HMakeTime}')", ref DBUtility.ClsPub.sExeReturnInfo);
                LogService.Write("主表插入成功");
                //新增辅助子表:
                oCN.RunProc($@"insert into Gy_PropertyEntry
                            (HItemID,HERPItemID,HAuxpuID,HMaterID,HISDefault,HStopflag,HSno)
                  values({lsmain[1].HItemID},'{lsmain[1].HERPItemID}','{lsmain[1].HAuxpuID}','{lsmain[1].HMaterID}','{lsmain[1].HISDefault}',{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[1].HSno}')", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                sql = "set identity_insert Gy_Property off";
                ////新增辅助子表:
                //oCN.RunProc($@"insert into Gy_PropertyEntry
                //            (HItemID,HERPItemID,HAuxpuID,HMaterID,HISDefault,HStopflag,HSno)
                //  values({lsmain[1].HItemID},'{lsmain[1].HERPItemID}','{lsmain[1].HAuxpuID}','{lsmain[1].HMaterID}','{lsmain[1].HISDefault}',{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[1].HSno}')", ref DBUtility.ClsPub.sExeReturnInfo);
                ////修改上级为非末级代码
                //sql = "set identity_insert Gy_Property off";
                //LogService.Write("子表插入成功");
                oCN.RunProc(sql);
                oCN.Commit();
@@ -412,6 +423,7 @@
            }
            catch (Exception e)
            {
                LogService.Write("异常信息:" + e.ToString());
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
WebAPI/Controllers/BaseSet/Gy_SourceController.cs
@@ -364,7 +364,61 @@
                return objJsonResult;
            }
        }
        #region ç”Ÿäº§èµ„源列表-分页
        [Route("Gy_Source/list_byPage")]
        [HttpGet]
        public object GetSourceList_byPage(string sWhere, string user, string Organization, int page, int size)
        {
            try
            {
                List<object> columnNameList = new List<object>();  //定义声明变量 ï¼ŒæŠŠé€šè¿‡ new List<object>()创建的 å®žä¾‹ï¼Œèµ‹å€¼ç»™å˜é‡
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Source_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限查询!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Gy_SourceList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_Gy_SourceList");
                }
                else
                {
                    sWhere = sWhere.Replace("'", "''");
                    ds = oCN.RunProcReturn("exec h_p_Gy_SourceList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Gy_SourceList");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// ç”Ÿäº§èµ„源获取信息
        /// </summary>
WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
@@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.Http;
using WebAPI.Models;
@@ -357,7 +358,166 @@
            }
        }
        #region å§”外订单 é‡‘蝶同步
        [Route("WW_EntrustOrderBill/SaveWW_EntrustOrderBillListApi")]
        [HttpPost]
        public object SaveWW_EntrustOrderBillListApi([FromBody] JObject sMainSub)
        {
            LogService.Write("开始同步");
            try
            {
                var model = sMainSub["model"].ToString();
                var entry = sMainSub["model"]["HENTRY"].ToString();
                var ppbomModel = sMainSub["ppbomModel"].ToString();
                var ppbomEntry = sMainSub["ppbomModel"]["HENTRY"].ToString();
                model = "[" + model.ToString() + "]";
                ppbomModel = "[" + ppbomModel.ToString() + "]";
                LogService.Write(model);
                LogService.Write(entry);
                LogService.Write(ppbomModel);
                LogService.Write(ppbomEntry);
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ListModels oListModels = new ListModels();
                List<ClsWW_EntrustOrderBillMain_1> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMain_1>>(model);
                List<ClsWW_EntrustOrderBillMainSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMainSub>>(entry);
                List<ClsWW_PPBomBill> ppbomMainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBill>>(ppbomModel);
                List<ClsWW_PPBomBillSubERP> ppbomSubList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBillSubERP>>(ppbomEntry);
                // æ·»åŠ ç©ºå€¼æ£€æŸ¥
                if (mainList == null || mainList.Count == 0)
                {
                    throw new Exception("主表数据反序列化失败");
                }
                if (ppbomMainList == null || ppbomMainList.Count == 0)
                {
                    throw new Exception("用料主表数据反序列化失败");
                }
                LogService.Write($"mainList æ˜¯å¦ä¸ºç©º: {mainList == null}");
                LogService.Write($"mainList æ•°é‡: {mainList?.Count ?? 0}");
                LogService.Write($"ppbomMainList æ˜¯å¦ä¸ºç©º: {ppbomMainList == null}");
                LogService.Write($"ppbomMainList æ•°é‡: {ppbomMainList?.Count ?? 0}");
                string sql = string.Empty;
                LogService.Write(mainList);
                LogService.Write(subList);
                //保存
                oCN.BeginTran();
                sql = $"delete from WW_EntrustOrderBillMain where HInterID = {mainList[0].HInterID}";
                LogService.Write($"Hinter ID为{mainList[0].HInterID}");
                oCN.RunProc(sql);
                sql = $"delete from WW_EntrustOrderBillSub where HInterID= {mainList[0].HInterID}";
                oCN.RunProc(sql);
                //委外用料清单
                sql = $"delete from WW_PPBomBillMain where HInterID = {mainList[0].HInterID}";
                LogService.Write($"Hinter ID为{mainList[0].HInterID}");
                oCN.RunProc(sql);
                sql = $"delete from WW_PPBomBillSub where HInterID= {mainList[0].HInterID}";
                oCN.RunProc(sql);
                oCN.RunProc($@"insert into WW_EntrustOrderBillMain
                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
                ,HBillNo,HBillStatus
                ,HAddress,HSSID,HSSDate,HSupID,HCurID
                ,HExRate,HEmpID,HManagerID,HDeptID,HExplanation,HRemark,HInnerBillNo
                ,HMaker,HMakeDate,HChecker,HCheckDate
                ,HUpDater,HUpDateDate,HDeleteMan,HDeleteDate
                ,HERPInterID,HERPBillType,HSUBORGID)
                  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].HAddress}','{mainList[0].HSSID}','{mainList[0].HSSDate}',{mainList[0].HSupID},'{mainList[0].HCurID}',
            '{mainList[0].HExRate}','{mainList[0].HEmpID}','{mainList[0].HManagerID}','{mainList[0].HDeptID}','{mainList[0].HExplanation}','{mainList[0].HRemark}','{mainList[0].HInnerBillNo}','{mainList[0].HMaker}','{mainList[0].HMakeDate}'
            ,'{mainList[0].HChecker}','{mainList[0].HCheckDate}','{mainList[0].HUpDater}','{mainList[0].HUpDateDate}','{mainList[0].HDeleteMan}','{mainList[0].HDeleteDate}','{mainList[0].HERPInterID}','{mainList[0].HERPBillType}','{mainList[0].HSUBORGID}'
)", ref DBUtility.ClsPub.sExeReturnInfo);
                LogService.Write("主表插入成功");
                foreach (var oSub in subList)
                {
                    //新增子表:
                    oCN.RunProc($@"    insert into WW_EntrustOrderBillSub
                     (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HDiscountRate,HRelTaxPrice
                     ,HMoney,HTaxRate,HTaxMoney,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty
                     ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID
                     ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
                     ,HRelationQty,HBatChNo,HAuxPropID,HMTONo,HPlanMode,HRemark
                     ,HERPInterID,HERPEntryID,HBomID,HWhID,HSPID
                     ,HPOORderBillNo,HPOOrderSEQ
                     )
                      values({oSub.HInterID},'{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}',{subList[0].HPrice},'{oSub.HTaxPrice}',
                        {oSub.HDiscountRate},'{oSub.HRelTaxPrice}','{oSub.HMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney}',{subList[0].HLineTotal },'{oSub.HlineTotalBB}','{oSub.HDate}','{oSub.HInStockQty}','{oSub.HInvoiceQty}'
                        ,'{oSub.HSeOrderBillNo}','{oSub.HSeOrderInterID}','{oSub.HSeOrderEntryID}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HRelationQty}','{oSub.HBatChNo}','{oSub.HAuxPropID}','{oSub.HMTONo}','{oSub.HPlanMode}','{oSub.HRemark}',
                        {oSub.HERPInterID},'{oSub.HERPEntryID}','{oSub.HBomID}','{oSub.HWhID}',{subList[0].HSPID },'{oSub.HPOORderBillNo}','{oSub.HPOOrderSEQ}'
                        )", 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({ppbomMainList[0].HInterID},'{ppbomMainList[0].HYear}','{ppbomMainList[0].HPeriod}','{ppbomMainList[0].HBillType}','{ppbomMainList[0].HBillSubType}','{ppbomMainList[0].HDate}','{ppbomMainList[0].HBillNo}'
           ,'{ppbomMainList[0].HBillStatus}','{ppbomMainList[0].HICMOInterID}','{ppbomMainList[0].HICMOEntryID}','{ppbomMainList[0].HSUBBILLNO}','{ppbomMainList[0].HSUBREQENTRYSEQ}','{ppbomMainList[0].HMaterID}',{ppbomMainList[0].HUnitID},'{ppbomMainList[0].HQty}','{ppbomMainList[0].HSupID}','{ppbomMainList[0].HDeptID}',
            '{ppbomMainList[0].HPOOrderBillNo}','{ppbomMainList[0].HPOOrderSeq}','{ppbomMainList[0].HMaker}','{ppbomMainList[0].HMakeDate}','{ppbomMainList[0].HChecker}','{ppbomMainList[0].HCheckDate}','{ppbomMainList[0].HUpDater}','{ppbomMainList[0].HUpDateDate}','{ppbomMainList[0].HSeOrderBillNo}','{ppbomMainList[0].HSeOrderInterID}','{ppbomMainList[0].HSeOrderEntryID}','{ppbomMainList[0].HSeOrderSEQ}'
            ,'{ppbomMainList[0].HPRDORGID}','{ppbomMainList[0].HENTRUSTORGID}','{ppbomMainList[0].HPARENTOWNERID}'
            ,'{ppbomMainList[0].HPARENTOWNERTYPEID}','{ppbomMainList[0].HERPInterID}','{ppbomMainList[0].HERPBillType}','{ppbomMainList[0].HSETTLEORGID}','{ppbomMainList[0].HREQSRC}'
)", ref DBUtility.ClsPub.sExeReturnInfo);
                LogService.Write("委外清单主表插入成功");
                foreach (var oSub in ppbomSubList)
                {
                    //新增子表:
                    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
    }
}
WebAPI/Controllers/²Ö´æ¹ÜÀí/ίÍâÓÃÁÏ/WW_PPBomBillController.cs
@@ -89,9 +89,126 @@
                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
}
WebAPI/ListModels.cs
@@ -9,6 +9,7 @@
using Model;
using System.Data;
using System.Text.RegularExpressions;
using WebAPI.Models;
namespace WebAPI
{
@@ -5119,10 +5120,17 @@
            List<Model.ClsGy_SOPBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_SOPBillSub>>(jsonString);
            return list;
        }
        public static implicit operator ListModels(DataTable v)
        {
            throw new NotImplementedException();
        }
        public List<ClsWW_EntrustOrderBillMain_1> getObjectByJson_WW_EntrustOrderBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<ClsWW_EntrustOrderBillMain_1> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMain_1>>(jsonString);
            return list;
        }
    }
WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs
New file
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WebAPI.Models
{
    public class ClsWW_EntrustOrderBillMainSub : DBUtility.ClsXt_BaseBillMain
    {
        public Int64 HDeptID;//
        public Int64 HSupID;//
        public string HOrderProcNO;//
        public Int64 HMaterID;
        public Int64 HUnitID;
        public Decimal HQty;
        public Decimal HPrice;
        public Int64 HInterID;
        public Decimal HTaxPrice;
        public string HDiscountRate;
        public Decimal HRelTaxPrice;
        public Decimal HMoney;
        public Decimal HTaxRate;
        public Decimal HTaxMoney;
        public Decimal HLineTotal;
        public Decimal HlineTotalBB;
        public string HSourceBillNo;
        public string HSourceBillType;
        public string HBatChNo;
        public int HERPInterID;
        public int HBomID;
        public int HWhID;
        public int HSPID;
        public string HPOORderBillNo;
        public string HPOOrderSEQ;
        public int HManagerID;
        public int HInnerBillNo;
        ///////////////////////////////////WW_EntrustOrderBillSub
        public string HBillNo_bak;
        public int HEntryID;
        public string HCloseMan;
        public int HCloseType;
        public int HSourceInterID;
        public int HAuxPropID;
        public int HERPEntryID;
        public string HMTONo;
        public string HPlanMode;
        public string HSeOrderBillNo;
        public string HSeOrderInterID;
        public string HSeOrderEntryID;
        public string HSourceEntryID;
        public decimal HInStockQty;
        public decimal HInvoiceQty;
        public decimal HRelationQty;
    }
}
WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs
New file
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WebAPI.Models
{
    public class ClsWW_EntrustOrderBillMain_1 : DBUtility.ClsXt_BaseBillMain
    {
        public Int64 HDeptID;//
        public Int64 HSupID;//
        public string HOrderProcNO;//
        public Int64 HYear;
        public Int64 HPeriod;
        public string HBillType;
        public string HBillSubType;
        public int HInterID;
        public string HDate;
        public string HBillNo;
        public Int64 HBillStatus;
        public string HRemark;
        public string HMainSourceBillType;
        public Int64 HMainSourceInterID;
        public Int64 HERPInterID;
        public string HERPBillType;
        public Int64 HSUBORGID;
        public string HConfirmDate;
        public string HExplanation;
        public string HAddress;
        public int HSSID;
        public string HSSDate;
        public int HCurID;
        public string HExRate;
        public int HEmpID;
        public int HManagerID;
        public string HInnerBillNo;
        ///////////////////////////////////WW_EntrustOrderBillSub
        public string HBillNo_bak;
        public int HEntryID;
        public string HCloseMan;
        public int HCloseType;
        public int HSourceInterID;
        public int HAuxPropID;
        public int HERPEntryID;
        public string HMTONo;
        public int? HPlanMode;
    }
}
WebAPI/Models/ClsWW_PPBomBill.cs
New file
@@ -0,0 +1,88 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
namespace WebAPI.Models
{
    public class ClsWW_PPBomBill : DBUtility.ClsXt_BaseBillMain
    {
        //[JsonProperty("HInterID")]
        //[JsonConverter(typeof(StringToLongConverter))]
        public int HInterID { get; set; }
        public Int64 HDeptID;//
        public Int64 HSupID;//
        public string HOrderProcNO;//
        public Int64 HYear;
        public Int64 HPeriod;
        public string HBillType;
        public string HBillSubType;
        public string HDate;
        public string HBillNo;
        public Int64 HBillStatus;
        public string HRemark;
        public string HMainSourceBillType;
        public Int64 HMainSourceInterID;
        public Int64 HERPInterID;
        public string HERPBillType;
        public Int64 HSUBORGID;
        public int HEmpID;
        public int HManagerID;
        public int HICMOInterID;
        public int HICMOEntryID;
        public int HSUBREQENTRYSEQ;
        public int HMaterID;
        public int HUnitID;
        public int HSeOrderInterID;
        public int HSeOrderEntryID;
        public int HSeOrderSEQ;
        public int HENTRUSTORGID;
        public int HPARENTOWNERID;
        public int HPARENTOWNERTYPEID;
        public int HSETTLEORGID;
        public decimal HQty;
        public string HSUBBILLNO;
        public string HPOOrderBillNo;
        public string HPOOrderSeq;
        public string HSeOrderBillNo;
        public string HREQSRC;
        ///////////////////////////////////WW_EntrustOrderBillSub
    }
    public class StringToLongConverter : JsonConverter
    {
        public override bool CanConvert(Type objectType)
        {
            return objectType == typeof(long);
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType == JsonToken.String)
            {
                string stringValue = reader.Value.ToString();
                if (long.TryParse(stringValue, out long result))
                {
                    return result;
                }
            }
            else if (reader.TokenType == JsonToken.Integer)
            {
                return Convert.ToInt64(reader.Value);
            }
            return 0L;
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            writer.WriteValue(value.ToString());
        }
    }
}
WebAPI/Models/ClsWW_PPBomBillSubERP.cs
New file
@@ -0,0 +1,67 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
namespace WebAPI.Models
{
    public class ClsWW_PPBomBillSubERP : DBUtility.ClsXt_BaseBillMain
    {
        public int HDeptID;//
        public int HSupID;//
        public string HOrderProcNO;//
        public int HMaterID;
        public int HUnitID;
        public Decimal HQty;
        public Decimal HPrice;
        public int HInterID;
        public Decimal HRelTaxPrice;
        public Decimal HMoney;
        public string HSourceBillNo;
        public string HSourceBillType;
        public string HBatChNo;
        public int HERPInterID;
        public int HBomID;
        public int HWhID;
        public int HSPID;
        public string HPOORderBillNo;
        public string HPOOrderSEQ;
        public int HInnerBillNo;
        [JsonProperty("FEntryID")]
        public int HEntryID;
        public string HCloseMan;
        public int HCloseType;
        public int HSourceInterID;
        public int HAuxPropID;
        public int HERPEntryID;
        public int HENTRUSTPICKORGID;
        public int HSRCTRANSORGID;
        public int HGROUPBYOWNERID;
        public int HWHID;
        public int HICMOInterID;
        public int HICMOEntryID;
        public int HCHILDSUPPLYORGID;
        public int HSUPPLYORGID;
        public int HRESERVETYPE;
        public int HPROCESSID;
        public int HBASEUNITID;
        public int HOWNERTYPEID;
        public int HOPERID;
        public int HSEQ;
        public int HSTOCKSTATUSID;
        public decimal HQtyMust;
        public decimal HQtyScrap;
        public decimal HBackRelationQty;
        public decimal HMoveStockQty;
        public string HMTONo;
        public string HPlanMode;
        public string HSeOrderBillNo;
        public string HICMOBillNo;
        public string HSeOrderInterID;
        public string HSeOrderEntryID;
        public string HSourceEntryID;
        public string HPROJECTNO;
        public decimal HRelationQty;
    }
}
WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
    <History>True|2025-10-14T06:05:31.2616924Z;True|2025-10-14T14:02:10.6138305+08:00;True|2025-10-14T13:57:54.3561365+08:00;</History>
    <History>True|2025-10-19T15:57:11.9849312Z;True|2025-10-19T23:53:15.4977051+08:00;True|2025-10-19T23:41:02.0215742+08:00;True|2025-10-19T23:34:25.4494199+08:00;True|2025-10-19T23:30:03.5810837+08:00;True|2025-10-19T23:22:39.5476985+08:00;True|2025-10-19T23:22:20.2272753+08:00;True|2025-10-19T23:15:10.2422773+08:00;False|2025-10-19T23:14:23.2218748+08:00;False|2025-10-19T23:14:03.8904781+08:00;True|2025-10-19T23:08:24.3839679+08:00;False|2025-10-19T23:07:41.7356133+08:00;True|2025-10-19T23:03:51.1923423+08:00;True|2025-10-19T22:54:35.4258887+08:00;True|2025-10-19T22:38:36.8504562+08:00;True|2025-10-19T22:30:53.2619046+08:00;True|2025-10-19T22:19:48.5190979+08:00;False|2025-10-19T22:19:25.0417529+08:00;True|2025-10-19T10:18:37.7568898+08:00;False|2025-10-19T10:17:39.0489779+08:00;True|2025-10-19T00:36:10.1256256+08:00;True|2025-10-19T00:28:13.4547010+08:00;True|2025-10-19T00:24:56.4922347+08:00;True|2025-10-19T00:08:00.9510311+08:00;True|2025-10-19T00:07:21.1744014+08:00;True|2025-10-19T00:04:00.1610719+08:00;True|2025-10-18T23:45:54.6880913+08:00;False|2025-10-18T23:45:09.4926551+08:00;True|2025-10-17T16:34:40.3462346+08:00;True|2025-10-17T15:57:55.0661308+08:00;True|2025-10-17T15:48:37.8032774+08:00;True|2025-10-17T15:38:26.3458977+08:00;True|2025-10-17T15:35:44.6273511+08:00;True|2025-10-17T15:33:36.8751794+08:00;True|2025-10-17T15:24:56.7103124+08:00;True|2025-10-17T15:11:54.8125618+08:00;True|2025-10-17T10:01:39.1174966+08:00;False|2025-10-17T09:59:53.7076348+08:00;False|2025-10-17T09:59:37.5485358+08:00;True|2025-10-16T22:50:25.1274544+08:00;True|2025-10-16T22:27:21.4303431+08:00;False|2025-10-16T22:24:32.1551719+08:00;True|2025-10-16T22:20:39.0970374+08:00;True|2025-10-16T22:05:29.7248115+08:00;True|2025-10-16T22:01:07.5549766+08:00;True|2025-10-16T18:46:20.7386786+08:00;True|2025-10-16T17:53:12.3938090+08:00;True|2025-10-16T13:49:06.4717584+08:00;True|2025-10-16T11:30:06.0699232+08:00;False|2025-10-16T11:29:29.3280003+08:00;True|2025-10-14T14:05:31.2616924+08:00;True|2025-10-14T14:02:10.6138305+08:00;True|2025-10-14T13:57:54.3561365+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>10/14/2025 13:57:41</publishTime>
      <publishTime>10/18/2025 23:45:39</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>10/14/2025 13:57:41</publishTime>
      <publishTime>10/18/2025 23:45:39</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>10/14/2025 13:57:36</publishTime>
      <publishTime>10/18/2025 23:45:34</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>10/14/2025 13:57:36</publishTime>
      <publishTime>10/18/2025 23:45:34</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>10/14/2025 13:57:28</publishTime>
      <publishTime>10/16/2025 17:52:48</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>10/14/2025 13:57:28</publishTime>
      <publishTime>10/16/2025 17:52:48</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>10/14/2025 13:57:32</publishTime>
      <publishTime>10/18/2025 23:45:31</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>10/14/2025 13:57:32</publishTime>
      <publishTime>10/18/2025 23:45:31</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>07/08/2025 13:46:38</publishTime>
@@ -147,34 +147,34 @@
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>10/14/2025 13:57:24</publishTime>
      <publishTime>10/16/2025 17:52:44</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>10/14/2025 13:57:24</publishTime>
      <publishTime>10/16/2025 17:52:44</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>10/14/2025 13:57:26</publishTime>
      <publishTime>10/16/2025 17:52:46</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>10/14/2025 13:57:26</publishTime>
      <publishTime>10/16/2025 17:52:46</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>10/14/2025 13:57:26</publishTime>
      <publishTime>10/16/2025 17:52:46</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>10/14/2025 13:57:26</publishTime>
      <publishTime>10/16/2025 17:52:46</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>10/14/2025 13:57:23</publishTime>
      <publishTime>10/16/2025 17:52:43</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>10/14/2025 13:57:23</publishTime>
      <publishTime>10/16/2025 17:52:43</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,22 +285,22 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>10/13/2025 09:23:39</publishTime>
      <publishTime>10/16/2025 11:29:45</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>10/13/2025 09:23:39</publishTime>
      <publishTime>10/16/2025 11:29:45</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>10/14/2025 14:05:24</publishTime>
      <publishTime>10/19/2025 23:57:05</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>10/14/2025 14:05:24</publishTime>
      <publishTime>10/19/2025 23:57:05</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>10/14/2025 14:05:30</publishTime>
      <publishTime>10/19/2025 23:57:10</publishTime>
    </File>
    <File Include="bin/WebGrease.dll">
      <publishTime>07/18/2013 01:03:52</publishTime>
WebAPI/WebAPI.csproj
@@ -646,6 +646,10 @@
    <Compile Include="Models\ClsGy_Billorigin.cs" />
    <Compile Include="Models\ClsSc_MESStopRestoreWorkBillMain.cs" />
    <Compile Include="Models\ClsSc_MESStopRestoreWorkBillSub.cs" />
    <Compile Include="Models\ClsWW_PPBomBillSubERP.cs" />
    <Compile Include="Models\ClsWW_EntrustOrderBillMainSub.cs" />
    <Compile Include="Models\ClsWW_PPBomBill.cs" />
    <Compile Include="Models\ClsWW_EntrustOrderBillMain_1.cs" />
    <Compile Include="Models\GroupOrderBill.cs" />
    <Compile Include="Models\ClsGy_PNLInfoSub.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_ProcMulController.cs" />