From a06049a177a20285013c32fba254a09d1cd3cc48 Mon Sep 17 00:00:00 2001 From: hudong <Administrator@PC-20250329JZUF> Date: 星期三, 11 六月 2025 17:23:38 +0800 Subject: [PATCH] 1.生成出库单逻辑修改(判断是否同一个仓库) 2.入库单接口优化 --- /dev/null | 41 ------------- api/WmsSpaHelper.cs | 73 +++++++++++++++--------- models/TN_Inbound_Order.cs | 8 +- HH.WCS.Mobox3.pinggao.csproj | 2 4 files changed, 49 insertions(+), 75 deletions(-) diff --git a/HH.WCS.Mobox3.pinggao.csproj b/HH.WCS.Mobox3.pinggao.csproj index cc61d9c..f4cc209 100644 --- a/HH.WCS.Mobox3.pinggao.csproj +++ b/HH.WCS.Mobox3.pinggao.csproj @@ -197,8 +197,6 @@ <Compile Include="models\SapRoot.cs" /> <Compile Include="models\TN_DPRECORD.cs" /> <Compile Include="models\TN_GENERATE_ORDER.cs" /> - <Compile Include="models\TN_In_Detail.cs" /> - <Compile Include="models\TN_In_Order.cs" /> <Compile Include="models\TN_Location_Ext.cs" /> <Compile Include="models\TN_Ll_detail.cs" /> <Compile Include="models\TN_Ll_Order.cs" /> diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs index 31509e9..2a8c992 100644 --- a/api/WmsSpaHelper.cs +++ b/api/WmsSpaHelper.cs @@ -673,7 +673,6 @@ result.WLPZBH = items.HEAD.WLPZH; result.WLPZND = items.HEAD.WLPZND; result.resultCode = 0; - result.resultMsg = ""; db.CommitTran(); simpleResults.Add(result); } @@ -1880,28 +1879,36 @@ else if (!string.IsNullOrEmpty(model.item_code)) { var starts = db.Queryable<CntrItemRel>().Where(cir => cir.S_CNTR_TYPE == "鍗婃墭" && cir.S_ITEM_CODE == model.item_code).OrderBy(cir => cir.T_CREATE).ToList().FirstOrDefault(); - LogHelper.Info($"starts{starts}"); - var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE== starts.S_CNTR_CODE).ToList().FirstOrDefault(); - LogHelper.Info($"starts1{starts12}"); - start = db.Queryable<Location>().Where(loc => loc.S_AREA_CODE == "HJQ" && loc.S_CODE== starts12.S_LOC_CODE).ToList().FirstOrDefault(); - LogHelper.Info($"starts2{start}"); + if (starts!=null) + { + LogHelper.Info($"starts{starts}"); + var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == starts.S_CNTR_CODE).ToList().FirstOrDefault(); + LogHelper.Info($"starts1{starts12}"); + start = db.Queryable<Location>().Where(loc => loc.S_AREA_CODE == "HJQ" && loc.S_CODE == starts12.S_LOC_CODE).ToList().FirstOrDefault(); + LogHelper.Info($"starts2{start}"); - model.cntr_code = starts12?.S_CNTR_CODE; + model.cntr_code = starts12?.S_CNTR_CODE; + } + else + { + var list = db.Queryable<CntrItemRel>().Select(s => s.S_CNTR_CODE).ToArray(); + var S_LOC_CODElist = db.Queryable<LocCntrRel>().Where(s => !list.Contains(s.S_CNTR_CODE)).Select(s => s.S_LOC_CODE).ToArray(); + start = db.Queryable<Location>().Where(it => S_LOC_CODElist.Contains(it.S_CODE)).ToList().FirstOrDefault(); + + + + + var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == start.S_CODE).ToList().FirstOrDefault(); + + + model.cntr_code = starts12?.S_CNTR_CODE; + } + } else { #region MyRegion - var list = db.Queryable<CntrItemRel>().Select(s => s.S_CNTR_CODE).ToArray(); - var S_LOC_CODElist = db.Queryable<LocCntrRel>().Where(s => !list.Contains(s.S_CNTR_CODE)).Select(s => s.S_LOC_CODE).ToArray(); - start = db.Queryable<Location>().Where(it => S_LOC_CODElist.Contains(it.S_CODE)).ToList().FirstOrDefault(); - - - - - var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == start.S_CODE).ToList().FirstOrDefault(); - - - model.cntr_code = starts12?.S_CNTR_CODE; + #endregion } if (start == null) @@ -3687,8 +3694,13 @@ var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO }; List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>(); po1.Details = new List<TN_Outbound_Detail>(); + var list = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY).Select(s => s.S_ITEM_CODE).Distinct().ToArray(); + var Sitemlist = db.Queryable<CntrItemRel>().Where(s => list.Contains(s.S_ITEM_CODE)).Select(s => s.S_ITEM_CODE).ToArray(); + + po.Details = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY && Sitemlist.Contains(s.S_ITEM_CODE)).ToList(); if (po.Details.Count() > 0) { + foreach (var a in po.Details) { if (a.F_QTY > a.F_ACC_D_QTY) @@ -3749,7 +3761,12 @@ return result; } } - + else + { + result.code = 1; + result.msg = $"棰嗘枡鍗晎po.S_NO}鎵句笉鍒板搴斿簱瀛樼墿鏂欎俊鎭�; + return result; + } } db.CommitTran(); } @@ -4382,25 +4399,25 @@ List<JHWBackDto.ITEM> iTEMs = new List<JHWBackDto.ITEM>(); foreach (var item in po.Details) { - var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE).FirstOrDefault(); + // var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE).FirstOrDefault(); JHWBackDto.ITEM ckbitem = new JHWBackDto.ITEM(); ckbitem.WLBH = item.S_ITEM_CODE; ckbitem.GC = po.S_FACTORY; - ckbitem.XSDD = podetail?.S_XSDD; - ckbitem.XSDDHXM = podetail?.S_XSDDXMBH; + ckbitem.XSDD = item?.S_XSDD; + ckbitem.XSDDHXM = item?.S_XSDDXMBH; ckbitem.SL = item.F_QTY; - ckbitem.DW = podetail?.S_UOM; - ckbitem.DDH = podetail?.S_DDH; + ckbitem.DW = item?.S_UOM; + ckbitem.DDH = item?.S_DDH; //ckbitem.PH = podetail?.S_PH; // ckbitem.TSKCBS = podetail?.S_TSKCBS; //ckbitem.DDHXM = (podetail?.N_ROW_NO); - ckbitem.WBS = podetail?.S_WBS; - ckbitem.KCDD = podetail?.S_KCDD; - ckbitem.PC = podetail?.S_BATCH_NO; + ckbitem.WBS = item?.S_WBS; + ckbitem.KCDD = item?.S_KCDD; + ckbitem.PC = item?.S_BATCH_NO; #region MyRegion // List<JHWBackDto.ITEM1> listitem1 = new List<JHWBackDto.ITEM1>(); JHWBackDto.ITEM1 listitem1 = new JHWBackDto.ITEM1(); - listitem1.XLH = podetail?.S_SERIAL_NO.Split(',').ToList(); + listitem1.XLH = item?.S_SERIAL_NO.Split(',').ToList(); ////string[] xlhValues = item.S_SERIAL_NO.Split(','); //var serialNos = string.Join(",", CntrItemRels // .Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE) diff --git a/models/TN_In_Detail.cs b/models/TN_In_Detail.cs deleted file mode 100644 index b69af65..0000000 --- a/models/TN_In_Detail.cs +++ /dev/null @@ -1,107 +0,0 @@ - -using HH.WCS.Mobox3.pinggao.models; -using SqlSugar; -using System; - -namespace HH.WCS.Mobox3.pinggao -{ - [SugarTable("TN_InOrderDetail")] - - public class TN_InOrder_Detail : BaseModel - { - public string S_IO_NO { get; set; } - public string N_ROW_NO { get; set; } - public string S_ITEM_CODE { get; set; } - public int N_ITEM_STATE { get; set; } - public string S_ITEM_NAME { get; set; } - public string S_ITEM_STATE { get; set; } - public string S_BATCH_NO { get; set; } = ""; - public string S_ITEM_SPEC { get; set; } - public string S_SERIAL_NO { get; set; } = ""; - public string D_PRD_DATE { get; set; } - public string D_EXP_DATE { get; set; } - public string S_NOTE { get; set; } - public double F_QTY { get; set; } - public string S_UOM { get; set; } = "kg"; - public double F_ACC_C_QTY { get; set; } - public double F_ACC_B_QTY { get; set; } - public int N_B_STATE { get; set; } - public string S_BS_NO { get; set; } - public string S_BS_TYPE { get; set; } - //public double F_NET_WEIGHT { get; set; } - //public double F_GROSS_WEIGHT { get; set; } - public string S_SUPPLIER_NO { get; set; } - //public string S_WU { get; set; } - ///// <summary> - ///// 来源单行号 - ///// </summary> - //public string N_BS_ROW_NO { get; set; } - /// <summary> - /// 货主 - /// </summary> - public string S_OWNER { get; set; } - /// <summary> - /// ERP仓库 - /// </summary> - public string S_ERP_WH_CODE { get; set; } - - - // 库存地点 - - public string S_KCDD { get; set; } - - // 检验批编号 - - public string S_JYPBH { get; set; } - public string S_KJPZSSRQ { get; set; } - - // 输入时间 - - public DateTime T_SRSJ { get; set; } - - // 会计凭证日期 - - public string S_KJPZSRRQ { get; set; } - - // 采购凭证号 - - public string S_CGPZH { get; set; } - - // 采购凭证的项目编号 - - public string S_CGPZXMBH { get; set; } - - // 借方/贷方标识 - - public string S_JDBS { get; set; } - - // 参考凭证的凭证号 - - public string S_CKPZH { get; set; } - - // 参考凭证会计年度 - - public string S_CKPZKJND { get; set; } - public string S_KJPZSRSJ { get; set; } - - // 参考凭证项目 - - public string S_CKPZXM { get; set; } - - // 冲销物料凭证编号 - - public string S_CXWLPZBH { get; set; } - public string S_CXPZNF { get; set; } - public string S_CXWLPZHXM { get; set; } - public string S_HWSJJYZT { get; set; } - public string S_GYSZHH { get; set; } - - public string S_PH { get; set; } - public string S_TSKCBS { get; set; } - public string S_XSDDXMBH { get; set; } - public string S_DDH { get; set; } - public string S_WBS { get; set; } - public string S_XSDD { get; set; } - - } -} diff --git a/models/TN_In_Order.cs b/models/TN_In_Order.cs deleted file mode 100644 index 69eb43e..0000000 --- a/models/TN_In_Order.cs +++ /dev/null @@ -1,41 +0,0 @@ -using HH.WCS.Mobox3.pinggao.models; -using SqlSugar; -using System; -using System.Collections.Generic; - -namespace HH.WCS.Mobox3.pinggao -{ - [SugarTable("TN_Inbound_Order")] - public class TN_Inbound_Order : BaseModel - { - public string S_NO { get; set; } - public string BUDAT { get; set; } - public string BLDAT { get; set; } - public string UNAME { get; set; } - public string BKTXT { get; set; } - public string SOBKZ { get; set; } - //public string S_RECEIPT_NO { get; set; } - public string S_SUPPLIER_NO { get; set; } - public string S_WLPZNF { get; set; } - public string S_SUPPLIER_NAME { get; set; } - public string S_FACTORY { get; set; } - public string S_WH_CODE { get; set; } - public string S_NOTE { get; set; } - public string S_AREA_CODE { get; set; } - public string S_BS_TYPE { get; set; } - public string S_IN_TYPE { get; set; } - public string S_BS_NO { get; set; } - public int N_B_STATE { get; set; } - public string S_WLPZ { get; set; } - - /// <summary> - /// 物料凭证年度 - /// </summary> - public string S_WLPZND { get; set; }/// <summary> - /// 编号 - /// </summary> - [SugarColumn(IsIgnore = true)] - [Navigate(NavigateType.OneToMany, nameof(TN_Inbound_Detail.S_IO_NO), nameof(S_NO))] - public List<TN_Inbound_Detail> Details { get; set; } - } -} diff --git a/models/TN_Inbound_Order.cs b/models/TN_Inbound_Order.cs index 5aa0352..69eb43e 100644 --- a/models/TN_Inbound_Order.cs +++ b/models/TN_Inbound_Order.cs @@ -5,8 +5,8 @@ namespace HH.WCS.Mobox3.pinggao { - [SugarTable("TN_In_Order")] - public class TN_In_Order : BaseModel + [SugarTable("TN_Inbound_Order")] + public class TN_Inbound_Order : BaseModel { public string S_NO { get; set; } public string BUDAT { get; set; } @@ -35,7 +35,7 @@ /// 编号 /// </summary> [SugarColumn(IsIgnore = true)] - [Navigate(NavigateType.OneToMany, nameof(TN_InOrder_Detail.S_IO_NO), nameof(S_NO))] - public List<TN_InOrder_Detail> Details { get; set; } + [Navigate(NavigateType.OneToMany, nameof(TN_Inbound_Detail.S_IO_NO), nameof(S_NO))] + public List<TN_Inbound_Detail> Details { get; set; } } } -- Gitblit v1.9.1