From a63368198bb258cc02ace701919c85df838f6366 Mon Sep 17 00:00:00 2001 From: "tanfengling@x-ri.com" <123456> Date: Fri, 26 Sep 2025 16:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=B7=A5=E5=85=B7=E7=B1=BB=E3=80=91?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E6=98=A0=E5=B0=84=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20=E3=80=90=E6=8E=A5=E5=8F=A3=E3=80=91=E5=BD=A2?= =?UTF-8?q?=E6=80=81=E8=BD=AC=E6=8D=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WMSAdjustBillController.java | 41 +++++++++++-------- .../app/plugin/utils/BaseDataMatchUtils.java | 2 +- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/lc123/cloud/app/api/controller/WMSAdjustBillController.java b/lc123/cloud/app/api/controller/WMSAdjustBillController.java index da5d494..9f21faf 100644 --- a/lc123/cloud/app/api/controller/WMSAdjustBillController.java +++ b/lc123/cloud/app/api/controller/WMSAdjustBillController.java @@ -34,7 +34,10 @@ public class WMSAdjustBillController { @ApiPostMapping(value = "/WMSAdjustBill", desc = "WMS库存异动api") public CustomApiResult wmsAdjustBill - (@NotNull @ApiParam(value = "入参", example = "") String data) { + (@NotNull @ApiParam(value = "调整单号", required = true) String cPACode, + @NotNull @ApiParam(value = "归属", required = true) String BelongTo, + @NotNull @ApiParam(value = "仓库编码", required = true) String cWhCode, + @NotNull @ApiParam(value = "明细", required = true) String Details) { ApiResultExt resultExt = new ApiResultExt(); List results = new ArrayList<>(); ApiResultExt.ResultBean resultBean = new ApiResultExt.ResultBean(); @@ -43,11 +46,6 @@ public class WMSAdjustBillController { JSONObject keys = new JSONObject(); boolean billStatus = true; - JSONObject obj = JSON.parseObject(data); - String cPACode = obj.getString("cPACode");//调整单号 - String cWhCode = obj.getString("cWhCode");//仓库编码 - String BelongTo = obj.getString("BelongTo");//归属组织 - if(StringUtils.isBlank(cPACode)){ rowMsg.add("入参调整单号字段cPACode为空"); billStatus = false; @@ -61,12 +59,13 @@ public class WMSAdjustBillController { billStatus = false; }else{ QFilter f = new QFilter("number", "=", cWhCode); - DynamicObject[] whArr = BusinessDataServiceHelper.load("bos_warehouse", "id,name,number", new QFilter[]{f}); + DynamicObject[] whArr = BusinessDataServiceHelper.load("bd_warehouse", "id,name,number", new QFilter[]{f}); if(whArr == null || whArr.length == 0){ rowMsg.add("根据仓库编码字段cWhCode【"+cWhCode+"】在金蝶系统中没有查询到对应的仓库信息"); billStatus = false; }else { warehouse = whArr[0]; + warehouse = BusinessDataServiceHelper.loadSingle(warehouse.getPkValue(), "bd_warehouse"); } } @@ -86,10 +85,10 @@ public class WMSAdjustBillController { } } - JSONArray Details = obj.getJSONArray("Details"); - if(Details != null && Details.size() > 0){ - for (int i = 0; i < Details.size(); i++) { - JSONObject detail = Details.getJSONObject(i); + JSONArray DetailsArr = JSON.parseArray(Details); + if(DetailsArr != null && DetailsArr.size() > 0){ + for (int i = 0; i < DetailsArr.size(); i++) { + JSONObject detail = DetailsArr.getJSONObject(i); String cInvCode = detail.getString("cInvCode");//产品编码 String cOBatch = detail.getString("cOBatch");//挑战前批次 String cIBatch = detail.getString("cIBatch");//调整后批次 @@ -142,7 +141,7 @@ public class WMSAdjustBillController { resultBean.setBillIndex(0); resultBean.setKeys(keys); resultBean.setNumber(cPACode); - if(billStatus){ + if(!billStatus){ //出现错误后返回 error.setKeys(keys); error.setRowMsg(rowMsg); @@ -172,7 +171,14 @@ public class WMSAdjustBillController { DynamicObject invstatus = invstatusArr[0]; //必填校验通过,构建并保存数据 - DynamicObject adjustbill = BusinessDataServiceHelper.newDynamicObject("im_adjustbill"); + DynamicObject adjustbill = null; + DynamicObject[] billArr = BusinessDataServiceHelper.load("im_adjustbill", "id", new QFilter[]{new QFilter("billno", "=", "cPACode")}); + if(billArr != null && billArr.length > 0){ + adjustbill = BusinessDataServiceHelper.loadSingle(billArr[0].getPkValue(), "im_adjustbill"); + }else { + adjustbill = BusinessDataServiceHelper.newDynamicObject("im_adjustbill"); + adjustbill.set("billno", cPACode); + } adjustbill.set("billno", cPACode); adjustbill.set("biztime", new Date()); adjustbill.set("org", org); @@ -181,8 +187,8 @@ public class WMSAdjustBillController { adjustbill.set("billstatus", "A"); adjustbill.set("billcretype", "1"); DynamicObjectCollection beforeEntries = adjustbill.getDynamicObjectCollection("billentry");//调整前明细 - for (int i = 0; i < Details.size(); i++) { - JSONObject detail = Details.getJSONObject(i); + for (int i = 0; i < DetailsArr.size(); i++) { + JSONObject detail = DetailsArr.getJSONObject(i); String cInvCode = detail.getString("cInvCode");//产品编码 String cOBatch = detail.getString("cOBatch");//挑战前批次 Date dOMDate = detail.getDate("dOMDate");//挑战前生产日期 @@ -198,8 +204,9 @@ public class WMSAdjustBillController { DynamicObject material = materialArr[0]; //物料库存信息 f = new QFilter("masterid.id", "=", material.getPkValue()); - DynamicObject[] materialinvArr = BusinessDataServiceHelper.load("bd_materialinventoryinfo", "id,number,name,baseunit", new QFilter[]{f}); + DynamicObject[] materialinvArr = BusinessDataServiceHelper.load("bd_materialinventoryinfo", "id,number,name", new QFilter[]{f}); DynamicObject materialinv = materialinvArr[0]; + materialinv = BusinessDataServiceHelper.loadSingle(materialinv.getPkValue(), "bd_materialinventoryinfo"); //调整前商品 DynamicObject oGoods = null; DynamicObject[] oGoodsArr = BaseDataMatchUtils.materialMatchGoods("cInvCode", cOBatch, true); @@ -246,7 +253,7 @@ public class WMSAdjustBillController { DynamicObject afterEntry = afterEntries.addNew(); afterEntry.set("materialmasterid1", material); afterEntry.set("material1", materialinv); - beforeEntry.set("tqq9_goods1", iGoods); + afterEntry.set("tqq9_goods1", iGoods); afterEntry.set("unit1", material.getDynamicObject("baseunit")); afterEntry.set("qty1", iPAQuantity); afterEntry.set("baseunit1", material.getDynamicObject("baseunit")); diff --git a/lc123/cloud/app/plugin/utils/BaseDataMatchUtils.java b/lc123/cloud/app/plugin/utils/BaseDataMatchUtils.java index 19a6297..3664281 100644 --- a/lc123/cloud/app/plugin/utils/BaseDataMatchUtils.java +++ b/lc123/cloud/app/plugin/utils/BaseDataMatchUtils.java @@ -39,7 +39,7 @@ public class BaseDataMatchUtils { public static DynamicObject[] materialMatchGoods(String materialNumber, String lotNumber, boolean isauto){ QFilter f1 = new QFilter("tqq9_mater.number", "=", materialNumber); QFilter f2 = new QFilter("tqq9_entry.tqq9_lot.number", "=", lotNumber); - QFilter f3 = new QFilter("isauto", "=", isauto); + QFilter f3 = new QFilter("tqq9_isauto", "=", isauto); DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage", "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto", new QFilter[]{f1, f2, f3});