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);