From b82fd1f99e3a3fc5d56c1930c33a08989571f9ac Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 16 七月 2025 19:31:17 +0800
Subject: [PATCH] 修复下模单  删除报错

---
 WebAPI/DLL/ClsGy_Material_Ctl.cs |   73 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/WebAPI/DLL/ClsGy_Material_Ctl.cs b/WebAPI/DLL/ClsGy_Material_Ctl.cs
index c0adc2c..17640f7 100644
--- a/WebAPI/DLL/ClsGy_Material_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_Material_Ctl.cs
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
+using System.Reflection;
+using System.Linq;
 
 namespace WebAPI.DLL
 {
@@ -25,12 +27,12 @@
                     ",HHighStock,HLowStock,HSafeStock,HOrderPrice,HSalePrice" +
                     ",HKeepDays,HPlanPrice,HstdPrice,HQtyMin,HQtyMax" +
                     ",HSubjoin,HSubjoin2,HColor,HVersion,HEngName,HEngModel,HPropertyTypeID,HSPGroupID,HSPID,HMinPickQty,HUSEORGID,HERPItemID" +
-                    ",HSALEUNITID,HSALEPRICEUNITID,HBASEUNITID,HSTOREUNITID,HCHECKINCOMING,HCHECKPRODUCT,HPERUNITSTANDHOUR" +
+                    ",HSALEUNITID,HSALEPRICEUNITID,HBASEUNITID,HSTOREUNITID,HPOUnitID,HCHECKINCOMING,HCHECKPRODUCT,HPERUNITSTANDHOUR" +
                     ",HSTDLABORPREPARETIME,HSTDMACHINEPREPARETIME,HWidth,HWeight,HColorRemark,HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol" +
                     ",HMaterRuleType,HColorNo,HPieceMaxQty,HCommonUseFlag,HAvgStockPrice,HFootPrice,HTaxCost,HNoTaxCost,HOnceRightRate" +
                     ",HHeight_M,HInches_M,HAl1Long_M,HDensity_M,HTela_M,HUnderTela_M,HSizing_M,HQtyDec,HPriceDec,HMoneyDec,HTaxRate,HProfitRate" +
                     ",HLotcardQty" +
-                    ",HProjectBillMainID,HDivisionID" +
+                    ",HProjectBillMainID,HDivisionID,HCubicleQty,HMakeEmp" +
                     ") " +
                     " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
                     ", " + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "'" +
@@ -38,7 +40,7 @@
                     ", " + oModel.HWhID.ToString() + "," + oModel.HRoutingID.ToString() + "," + oModel.HBomID.ToString() + "," + oModel.HSecUnitID.ToString() + "," + oModel.HSecUnitRate.ToString() +
                     ", " + oModel.HHighStock.ToString() + "," + oModel.HLowStock.ToString() + "," + oModel.HSafeStock.ToString() + "," + oModel.HOrderPrice.ToString() + ",'" + oModel.HSalePrice + "'" +
                     ", " + oModel.HKeepDays.ToString() + "," + oModel.HPlanPrice.ToString() + "," + oModel.HstdPrice.ToString() + "," + oModel.HQtyMin.ToString() + "," + oModel.HQtyMax.ToString() +
-                    ",'" + oModel.HSubjoin + "','" + oModel.HSubjoin2 + "','" + oModel.HColor + "','" + oModel.HVersion + "','" + oModel.HEngName + "','" + oModel.HEngModel + "'," + oModel.HPropertyTypeID.ToString() + "," + oModel.HSPGroupID.ToString() + "," + oModel.HSPID.ToString() + "," + oModel.HMinPickQty.ToString() + "," + oModel.HUSEORGID + "," + oModel.HERPItemID + "," + oModel.HSALEUNITID + "," + oModel.HSALEPRICEUNITID + "," + oModel.HBASEUNITID + "," + oModel.HSTOREUNITID + "," + oModel.HCHECKINCOMING + "," + oModel.HCHECKPRODUCT + "," + oModel.HPERUNITSTANDHOUR + "," + oModel.HSTDLABORPREPARETIME + "," + oModel.HSTDMACHINEPREPARETIME + ","+ oModel.HWidth + "," + oModel.HWeight + ",'"+ oModel.HColorRemark + "'," + oModel.HQCSchemeID_Fst + ","
+                    ",'" + oModel.HSubjoin + "','" + oModel.HSubjoin2 + "','" + oModel.HColor + "','" + oModel.HVersion + "','" + oModel.HEngName + "','" + oModel.HEngModel + "'," + oModel.HPropertyTypeID.ToString() + "," + oModel.HSPGroupID.ToString() + "," + oModel.HSPID.ToString() + "," + oModel.HMinPickQty.ToString() + "," + oModel.HUSEORGID + "," + oModel.HERPItemID + "," + oModel.HSALEUNITID + "," + oModel.HSALEPRICEUNITID + "," + oModel.HBASEUNITID + "," + oModel.HSTOREUNITID + "," + oModel.HPOUnitID + "," + oModel.HCHECKINCOMING + "," + oModel.HCHECKPRODUCT + "," + oModel.HPERUNITSTANDHOUR + "," + oModel.HSTDLABORPREPARETIME + "," + oModel.HSTDMACHINEPREPARETIME + ","+ oModel.HWidth + "," + oModel.HWeight + ",'"+ oModel.HColorRemark + "'," + oModel.HQCSchemeID_Fst + ","
                        + oModel.HQCSchemeID_Proc + "," + oModel.HQCSchemeID_Patrol + "" +
                        ",'"+ oModel.HMaterRuleType + "','"+ oModel.HColorNo + "','" + oModel.HPieceMaxQty.ToString() + "','" + oModel.HCommonUseFlag.ToString() + "','" + oModel.HAvgStockPrice.ToString() + "','" + oModel.HFootPrice.ToString() + "','" + oModel.HTaxCost.ToString() + "','" + oModel.HNoTaxCost.ToString() + "'," + oModel.HOnceRightRate + "" +
                        ",'" + oModel.HHeight_M + "'" +
@@ -56,6 +58,8 @@
                        "," + oModel.HLotcardQty +
                        ",'" + oModel.HProjectBillMainID +
                        "','" + oModel.HDivisionID +
+                       "','" + oModel.HCubicleQty +
+                       "','" + oModel.HMakeEmp +
                        "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -192,6 +196,7 @@
                     ",HSALEPRICEUNITID=" + oModel.HSALEPRICEUNITID.ToString() +
                     ",HBASEUNITID=" + oModel.HBASEUNITID.ToString() +
                     ",HSTOREUNITID=" + oModel.HSTOREUNITID.ToString() +
+                    ",HPOUnitID=" + oModel.HPOUnitID.ToString() + 
                     ",HCHECKINCOMING=" + oModel.HCHECKINCOMING.ToString() +
                     ",HCHECKPRODUCT=" + oModel.HCHECKPRODUCT.ToString() +
                     ",HPERUNITSTANDHOUR=" + oModel.HPERUNITSTANDHOUR.ToString() +
@@ -226,7 +231,8 @@
                     ",HProfitRate=" + oModel.HProfitRate.ToString() +
                     ",HProjectBillMainID='" + oModel.HProjectBillMainID + "'" +
                     ",HDivisionID='" + oModel.HDivisionID + "'" +
-                    ",HLotcardQty='" + oModel.HLotcardQty + "'" +                    
+                    ",HLotcardQty='" + oModel.HLotcardQty + "'" +
+                    ",HCubicleQty='" + oModel.HCubicleQty + "'" +
                     " Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -242,6 +248,65 @@
                 throw (e);
             }
         }
+
+        /// <summary>
+        /// 鏍规嵁瀛楁鍊煎姩鎬佹洿鏂版暟鎹簱
+        /// </summary>
+        /// <param name="sItemID"></param>
+        /// <returns></returns>
+        public bool ModifyByIDDynamic(Int64 sItemID)
+        {
+            var sql = "Update " + MvarItemKey + " set ";
+            string[] excludeNames = { "HErpclsID", "HEntryID", "HInterID", "HReadonly", "HItemID", "HModifyEmp"};
+            foreach (var fInfo in oModel.GetType().GetFields()
+                .Where(field => !excludeNames.Contains(field.Name))
+                .ToArray())
+            {
+                string fieldName = fInfo.Name;
+                var fieldValue = fInfo.GetValue(oModel);
+                
+                if (fieldValue != null)
+                {
+                    sql += (fieldName + "='" + fieldValue.ToString() + "',");
+                }
+            }
+            sql = sql.Substring(0, sql.Length - 1);
+            sql+= (" Where HItemID = " + sItemID);
+            LogService.Write(sql);
+
+            oCn.BeginTran();
+            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+            //淇敼瀛愰」鐩唬鐮�
+            oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+            //灏嗕笂绾� 涓洪潪鏈骇
+            oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+            //
+            oCn.Commit();
+            return true;
+        }
+
+        public bool ModifyByIDListDynamic(string HItemID_List, string paramStr, List<Models.ClsGy_Material_Model> models)
+        {
+            var sql = "Update " + MvarItemKey + " set ";
+            sql += paramStr;
+            sql += (" Where HItemID in " + HItemID_List);
+            // 杈撳嚭 淇敼璇彞鍒版棩蹇楁枃浠�
+            LogService.Write("Update: " + sql);
+            oCn.BeginTran();
+            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+            foreach (var model in models)
+            {
+                // 杈撳嚭 淇敼鍓嶅璞� 鍒� 鏃ュ織鏂囦欢
+                LogService.Write(model);
+                //淇敼瀛愰」鐩唬鐮�
+                oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + model.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //灏嗕笂绾� 涓洪潪鏈骇
+                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + model.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+            }
+            oCn.Commit();
+            return true;
+        }
+
         //鏍规嵁浠g爜鍒ゆ柇淇℃伅
         public override bool HavParentCode(string sCode, Int64 sItemID)
         {

--
Gitblit v1.9.1