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