From 961e8862a9bc76765e0810e76319bf09b00a986e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=9A=E8=B1=86=E8=B1=86?= <13356128+sunandmoon60@user.noreply.gitee.com> Date: Thu, 9 Oct 2025 13:27:29 +0800 Subject: [PATCH] =?UTF-8?q?1.WMS=E4=B8=8A=E6=B5=B7=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=8E=A5=E5=8F=A3extendProps=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/WMSPurInController.java | 138 ++++++++++++++--- .../api/controller/WMSSaleOutController.java | 144 ++++++++++++++---- 2 files changed, 231 insertions(+), 51 deletions(-) diff --git a/lc123/cloud/app/api/controller/WMSPurInController.java b/lc123/cloud/app/api/controller/WMSPurInController.java index a37ea28..85ffcdc 100644 --- a/lc123/cloud/app/api/controller/WMSPurInController.java +++ b/lc123/cloud/app/api/controller/WMSPurInController.java @@ -571,10 +571,25 @@ public class WMSPurInController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -599,10 +614,25 @@ public class WMSPurInController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -706,10 +736,25 @@ public class WMSPurInController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -734,10 +779,25 @@ public class WMSPurInController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -844,10 +904,25 @@ public class WMSPurInController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -872,10 +947,25 @@ public class WMSPurInController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); diff --git a/lc123/cloud/app/api/controller/WMSSaleOutController.java b/lc123/cloud/app/api/controller/WMSSaleOutController.java index 6a75102..63700c5 100644 --- a/lc123/cloud/app/api/controller/WMSSaleOutController.java +++ b/lc123/cloud/app/api/controller/WMSSaleOutController.java @@ -51,7 +51,7 @@ public class WMSSaleOutController { @NotNull @ApiParam(value = "单据类型", required = true) String VoucherType, @NotNull @ApiParam(value = "库区编号", required = true) String wareCode, @NotNull @ApiParam(value = "归属", required = true) String companyType, - @NotNull @ApiParam(value = "明细", required = true) JSONArray details ) { + @NotNull @ApiParam(value = "明细", required = true) JSONArray details) { //返回值初始化 ApiResultExt resultExt = new ApiResultExt(); List results = new ArrayList<>(); @@ -62,7 +62,7 @@ public class WMSSaleOutController { JSONObject key = new JSONObject(); key.put("billno", billno); resultBean.setKeys(key); - ApiResultExt.Error error =new ApiResultExt.Error(); + ApiResultExt.Error error = new ApiResultExt.Error(); resultBean.setErrors(error); ArrayList rowmsg = new ArrayList<>(); error.setRowMsg(rowmsg); @@ -108,7 +108,7 @@ public class WMSSaleOutController { return CustomApiResult.success(resultExt); } DynamicObject isexsit = BusinessDataServiceHelper.loadSingle(VoucherType, new QFilter[]{new QFilter("billentry.id", QCP.equals, detali1.getLong("erpDetailId"))}); - if(isexsit==null){ + if (isexsit == null) { errormsg = "传入参数 erpDetailId 在金蝶系统中未查询到对应单据"; resultExt = ApiResultExt.errorRetrun(entityType, errormsg, error, resultExt); return CustomApiResult.success(resultExt); @@ -570,10 +570,25 @@ public class WMSSaleOutController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -598,10 +613,25 @@ public class WMSSaleOutController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -705,10 +735,25 @@ public class WMSSaleOutController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -733,10 +778,25 @@ public class WMSSaleOutController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -854,10 +914,25 @@ public class WMSSaleOutController { Date productDate = orderLine.getDate("productDate");//生产日期 Date expireDate = orderLine.getDate("expireDate");//失效期 String batchCode = orderLine.getString("batchCode");//批次 - JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty); @@ -882,10 +957,25 @@ public class WMSSaleOutController { Date productDate = orderLine1.getDate("productDate");//生产日期 Date expireDate = orderLine1.getDate("expireDate");//失效期 String batchCode = orderLine1.getString("batchCode");//批次 - JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 - String key1 = extendProps.getString("key1");//注册证号 - String key3 = extendProps.getString("key3");//生产许可证 - String key2 = extendProps.getString("key2");//生产厂商 + String key1 = null;//注册证号 + String key3 = null;//生产许可证 + String key2 = null;//生产厂商 + if (orderLine1.get("extendProps") instanceof Map) { + JSONObject extendProps = orderLine1.getJSONObject("extendProps");//批次信息 + key1 = extendProps.getString("key1");//注册证号 + key3 = extendProps.getString("key3");//生产许可证 + key2 = extendProps.getString("key2");//生产厂商 + }else{ + JSONArray extendProps = orderLine1.getJSONArray("extendProps"); + for (Object o : extendProps) { + JSONObject extendProp = gson.fromJson(gson.toJson(o), JSONObject.class); + if(extendProp.getString("key1")!=null){ + key1 = extendProp.getString("key1");//注册证号 + key3 = extendProp.getString("key3");//生产许可证 + key2 = extendProp.getString("key2");//生产厂商 + } + } + } detailObject.put("entryId", orderLineNo); detailObject.put("uniqueCode", itemCode); detailObject.put("quantity", actualQty);