From 05c2820d5c4f5454063b9ed52139e7c75c7ae2c9 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Sun, 27 Nov 2022 16:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/service/impl/LmsToMesServiceImpl.java | 155 ++++++++--------- .../mes/service/impl/MesToLmsServiceImpl.java | 2 +- .../service/InAndOutReturnService.java | 2 +- .../impl/InAndOutRetrunServiceImpl.java | 158 +++++++++++++++++- .../wms/st/inAndOutReturn/inandoutreturn.js | 2 +- .../src/views/wms/st/inbill/DivDialog.vue | 2 +- .../src/views/wms/st/inbill/index.vue | 2 +- 7 files changed, 241 insertions(+), 82 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java index d7cdde1d4..1ca645d66 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java @@ -24,7 +24,7 @@ import org.springframework.stereotype.Service; @Slf4j public class LmsToMesServiceImpl implements LmsToMesService { - private static String is_connect_mes = "0"; + private static String is_connect_mes = "1"; /** * LMS的PDA操作AGV下卷,AGV称重完成后AGV称重信息发送MES @@ -46,7 +46,11 @@ public class LmsToMesServiceImpl implements LmsToMesService { return result; } - JSONArray list = new JSONArray(); + String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + + param.put("UserName",UserName); + param.put("Password",Password); // String url = acsUrl + api; String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); @@ -54,21 +58,19 @@ public class LmsToMesServiceImpl implements LmsToMesService { url = url + api; try { String resultMsg = HttpRequest.post(url) - .body(String.valueOf(list)) + .body(String.valueOf(param)) .execute().body(); result = JSONObject.parseObject(resultMsg); log.info("momRollFoilWeighing接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -104,16 +106,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { result = JSONObject.parseObject(resultMsg); log.info("momRollBakeInBound接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -149,16 +149,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { result = JSONObject.parseObject(resultMsg); log.info("momRollBakeOutBound接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -195,15 +193,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { log.info("momRollSemiFGInboundComplete接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -246,16 +243,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { result = JSONObject.parseObject(resultMsg); log.info("airSwellWithPaperTubeAssComplete接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -282,12 +277,19 @@ public class LmsToMesServiceImpl implements LmsToMesService { String package_box_sn = param.getString("package_box_sn"); String warehouse = param.getString("warehouse"); + + JSONObject jo = new JSONObject(); jo.put("ContainerName",container_name); jo.put("isSourceRollDeliveryComplete",1); jo.put("PackageBoxSN",package_box_sn); jo.put("Warehouse",warehouse); + String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + jo.put("UserName",UserName); + jo.put("Password",Password); + // String url = acsUrl + api; String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/CutPlanMomRollDeliveryComplete"; @@ -300,15 +302,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { log.info("airSwellWithPaperTubeAssComplete接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -352,15 +353,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { log.info("airSwellWithPaperTubeAssArrival接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -392,27 +392,31 @@ public class LmsToMesServiceImpl implements LmsToMesService { jo.put("iArrivalDate", DateUtil.now()); jo.put("iUser", User); + String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + jo.put("UserName",UserName); + jo.put("Password",Password); + // String url = acsUrl + api; String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/ChildRollFGInboundComplete"; url = url + api; try { String resultMsg = HttpRequest.post(url) - .body(String.valueOf(param)) + .body(String.valueOf(jo)) .execute().body(); result = JSONObject.parseObject(resultMsg); log.info("childRollFGInboundComplete接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } @@ -450,15 +454,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { log.info("childRollFGOutboundComplete接口输出参数为:-------------------" + result.toString()); + String RTYPE = result.getString("RTYPE"); + if (RTYPE.equals("E")){ + throw new BadRequestException(result.getString("RTMSG")); + } + + } catch (Exception e) { - String msg = e.getMessage(); - //ConnectException: Connection refused: connect - //网络不通 - System.out.println(msg); - result.put("status", HttpStatus.BAD_REQUEST); - result.put("message", "网络不通,操作失败!"); - result.put("data", new JSONObject()); - log.info("网络不通,操作失败!"); + throw new BadRequestException(e.getMessage()); } return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index b4b492854..8e60537a7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -304,7 +304,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { result.put("RTOAL", 1); result.put("RTDAT", null); } catch (Exception e) { - result.put("RTYPE", "1"); + result.put("RTYPE", "E"); result.put("RTMSG", "操作失败!" + e.getMessage()); result.put("RTOAL", 1); result.put("RTDAT", null); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java index dbfd82496..36c138445 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java @@ -18,7 +18,7 @@ public interface InAndOutReturnService { void upload(JSONObject whereJson); - void uploadMES(Map whereJson); + void uploadMES(JSONObject whereJson); void uploadSAP(JSONObject whereJson); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java index aa52669ec..5ec165231 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java @@ -56,7 +56,153 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { } @Override - public void uploadMES(Map whereJson) { + public void uploadMES(JSONObject whereJson) { + { + //出库分配表 + WQLObject wo_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); + //出库明细表 + WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); + //出库主表 + WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); + // 物料表 + WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + // 库区表 + WQLObject sectTab = WQLObject.getWQLObject("st_ivt_sectattr"); + // 子卷包装关系表 + WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation"); + + //根据出入单类型判断回传业务 + //1、生产入库:回传MES;手工入库:回传SAP + //1、销售出库:回传MES、SAP;改切出库:回传SAP + JSONArray rows = whereJson.getJSONArray("rows"); + for (int i = 0; i < rows.size(); i++) { + JSONObject jo_mst = rows.getJSONObject(i); + String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue(); + if (StrUtil.equals(isUpload, "1")) { + String bill_type = jo_mst.getString("bill_type"); + //生产入库 + if (StrUtil.equals(bill_type, "0001")) { + //1.回传MES + + //查询该入库单下的所有箱子回传 + JSONArray box_rows = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("iostorinv_id",jo_mst.getString("iostorinv_id")).addParam("flag","2").process().getResultJSONArray(0); + for (int j = 0; j < box_rows.size(); j++) { + JSONObject box_row = box_rows.getJSONObject(j); + // 调用接口回传 + JSONObject paramMesMst = new JSONObject(); + paramMesMst.put("PackageBoxSN",box_row.getString("box_no")); + paramMesMst.put("User",box_row.getString("confirm_optname")); + new LmsToMesServiceImpl().childRollFGInboundComplete(paramMesMst); + } + } + + // 销售出库 + if (StrUtil.equals(bill_type, "1001")) { + // 1.回传sap + JSONArray paramSapMstArr = new JSONArray(); + + JSONObject paramSapMst = new JSONObject(); + paramSapMst.put("ZACTION", "P"); + paramSapMst.put("BUDAT", jo_mst.getString("biz_date")); + paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight")); + paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code")); + + JSONArray paramDtlArr = new JSONArray(); + JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0); + for (int k = 0; k < dtlArr.size(); k++) { + JSONArray paramDisArr = new JSONArray(); + JSONObject json = dtlArr.getJSONObject(k); + JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0); + + // 明细 + JSONObject jsonDtl = new JSONObject(); + jsonDtl.put("VBELN", json.getString("vbeln")); // 交货 + paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货 + jsonDtl.put("POSNR", json.getString("posnr")); // 项目 + jsonDtl.put("MATNR", jsonMater.getString("material_code")); + + // 分配明细 + JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0); + for (int j = 0; j < disArr.size(); j++) { + JSONObject json2 = disArr.getJSONObject(j); + JSONObject jsonDis = new JSONObject(); + + JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSect)) { + jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点 + } + + JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSect)) { + jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次 + } + jsonDis.put("VBELN", json.getString("vbeln")); // 交货 + jsonDis.put("POSNR", json.getString("posnr")); // 项目 + jsonDis.put("LFIMG", json2.getString("real_qty")); + jsonDis.put("VRKME", json.getString("qty_unit_name")); + jsonDis.put("PIKMG", json2.getString("real_qty")); + jsonDis.put("VRKMP", json2.getString("qty_unit_name")); + paramDisArr.add(jsonDis); + } + jsonDtl.put("CHARG_T", paramDisArr); + paramDtlArr.add(jsonDtl); + } + paramSapMst.put("ITEM", paramDtlArr); + paramSapMstArr.add(paramSapMst); + + JSONObject param = new JSONObject(); + param.put("HEAD", paramSapMstArr); + System.out.println(param.toString()); + + // 调用接口回传 + // new LmsToSapServiceImpl().returnDelivery(param); + + // 2.回传mes + JSONObject paramMesMst = new JSONObject(); + String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + + paramMesMst.put("UserName", userName); + paramMesMst.put("Password", passWord); + paramMesMst.put("OutboundOrderNum", jo_mst.getString("bill_code")); + paramMesMst.put("OutboundUser", jo_mst.getString("confirm_optname")); + paramMesMst.put("OutboundTime", jo_mst.getString("confirm_time")); + + JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2") + .addParam("iostorinv_id", jo_mst.getString("iostorinv_id")) + .process().getResultJSONArray(0); + + JSONArray paramArr = new JSONArray(); + for (int j = 0; j < boxArr.size(); j++) { + JSONObject json = boxArr.getJSONObject(j); + JSONObject jsonBox = new JSONObject(); + + jsonBox.put("PackageBoxSN", json.getString("num")); + paramArr.add(jsonBox); + } + paramMesMst.put("item", paramArr); + + // 调用接口回传 + JSONObject jsonObject = new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst); + } + + // 改切出库 + if (StrUtil.equals(bill_type, "1003")) { + JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0); + + //调用母卷配送到位接口 + JSONObject mes_jo = new JSONObject(); + + //查询该子卷对应的分切计划 + //JSONArray cut_rows = WQLObject.getWQLObject("") + mes_jo.put("contain_name", disArr.getJSONObject(0).getString("pcsn")); + mes_jo.put("package_box_sn", disArr.getJSONObject(0).getString("box_no")); + mes_jo.put("warehouse", "3"); + new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo); + } + } + } + } } @Override @@ -398,6 +544,16 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 调用接口回传 new LmsToSapServiceImpl().returnMoveDtl(paramMst); + + //调用母卷配送到位接口 + JSONObject mes_jo = new JSONObject(); + + //查询该子卷对应的分切计划 + //JSONArray cut_rows = WQLObject.getWQLObject("") + mes_jo.put("contain_name", disArr.getJSONObject(0).getString("pcsn")); + mes_jo.put("package_box_sn", disArr.getJSONObject(0).getString("box_no")); + mes_jo.put("warehouse", "3"); + new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo); } } diff --git a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/inandoutreturn.js b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/inandoutreturn.js index 384bb2aff..8a78f4440 100644 --- a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/inandoutreturn.js +++ b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/inandoutreturn.js @@ -42,7 +42,7 @@ export function uploadSAP(data) { export function uploadMES(data) { return request({ - url: '/api/inandoutreturn/uploadSAP', + url: '/api/inandoutreturn/uploadMES', method: 'post', data }) diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue index 14688b2d2..54c7b8eef 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue @@ -289,7 +289,7 @@ export default { methods: { open() { debugger - crudSectattr.getSect({ 'is_materialstore': '1', 'sect_type_attr': '00' }).then(res => { + crudSectattr.getSect({ 'is_productstore': '1' }).then(res => { this.sects = res.content }) const area_type = '1585164789083148288' diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue index 023eced69..085a2fdd1 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue @@ -286,7 +286,7 @@ export default { } }, created() { - crudStorattr.getStor({ 'is_materialstore': '1' }).then(res => { + crudStorattr.getStor({ 'is_productstore': '1' }).then(res => { this.storlist = res.content }) },