| src/main/java/com/zy/asrs/entity/OrderDetl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/constant/MesConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/model/YXErpPakinParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -440,6 +440,15 @@ } } public String getMatnr$() { if (null == this.matnr){ return null; } switch (this.matnr){ case "JL0001": return "XJ0001"; } return matnr; } public String getCreateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.createBy); src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -38,11 +38,11 @@ } } // @Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") @Async("orderThreadPool") public void completeAndReport(){ String erpReport = Parameter.get().getErpReport(); if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { // String erpReport = Parameter.get().getErpReport(); // if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { List<Order> orders = orderService.selectComplete(); for (Order order : orders) { ReturnT<String> result = orderSyncHandler.start(order); @@ -50,7 +50,7 @@ log.error("单据[orderNo={}]上报erp失败", order.getOrderNo()); } } } // } } } src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -41,7 +41,7 @@ for (OrderDetl orderDetl : orderDetls) { orderDetl.setUpdateBy(0L); orderDetl.setUpdateTime(now); orderDetlService.addToLogTable(orderDetl); // orderDetlService.addToLogTable(orderDetl); orderDetlService.delete(new EntityWrapper<OrderDetl>() .eq("id",orderDetl.getId())); } @@ -49,7 +49,7 @@ if (!Cools.isEmpty(order)){ order.setUpdateBy(0L); order.setUpdateTime(now); orderService.addToLogTable(order); // orderService.addToLogTable(order); orderService.delete(new EntityWrapper<Order>() .eq("id",order.getId())); } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -55,34 +55,31 @@ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); // 入库完成上报 if (docType.getPakin() == 1) { YXErpPakinParam pakinParam = new YXErpPakinParam(); String convert = DateUtils.convert(new Date(), DateUtils.yyyyMMdd); pakinParam.setCTVCode(order.getOrderNo()); pakinParam.setDTVDate(convert); pakinParam.setDVerifyDate(convert); YXErpPakinParam pakinParam = new YXErpPakinParam(order.getOrderNo(),order.getMemo()); for (OrderDetl orderDetl : orderDetls) { // String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); pakinParam.getDetail().add(new YXErpPakinParam.Detl(order.getOrderNo(),orderDetl.getMatnr(), orderDetl.getAnfme())); pakinParam.getDetail().add(new YXErpPakinParam.Detl(orderDetl,true)); pakinParam.getDetail().add(new YXErpPakinParam.Detl(orderDetl,false)); } String response = ""; boolean success = false; try { response = new HttpHandler.Builder() .setUri(MesConstant.URL) .setPath(MesConstant.PAKIN_URL) .setUri(MesConstant.ERP_URL) .setPath(MesConstant.ERP_BIG_URL) .setJson(JSON.toJSONString(pakinParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { if (jsonObject.getInteger("code").equals(0)) { success = true; // 修改订单状态 4.完成 ===>> 6.已上报 if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("上报完成更新订单状态异常,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.ERP_URL+MesConstant.ERP_BIG_URL, JSON.toJSONString(pakinParam), response); order.setUpdateTime(new Date()); orderService.updateById(order); throw new CoolException("上报mes系统失败"); @@ -98,7 +95,7 @@ // 保存接口日志 apiLogService.save( "胶料入库上报至ERP", MesConstant.URL + MesConstant.PAKIN_URL, MesConstant.ERP_URL + MesConstant.ERP_BIG_URL, null, "127.0.0.1", JSON.toJSONString(pakinParam), @@ -108,6 +105,7 @@ } catch (Exception e) { log.error("", e); } } } /* // 出库完成上报 if (docType.getPakout() == 1) { MesPakoutParam pakoutParam = new MesPakoutParam(); @@ -162,6 +160,7 @@ } catch (Exception e) { log.error("", e); } } } */ return SUCCESS; } src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -83,14 +83,14 @@ log.error("删除入库通知档[workNo={"+wrkMast.getWrkNo()+"}]失败"); } } // if (wrkMast.getCrnNo()>2 && wrkMast.getCrnNo()<6){ // // 手动入库生成单据 【 上报三方平台 】 // if (!Cools.isEmpty(wrkDetls)) { // if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { // exceptionHandle("生成手动入库单据[workNo={0}]失败", wrkMast.getWrkNo()); // } // } // } if (wrkMast.getCrnNo()>2 && wrkMast.getCrnNo()<6){ // 手动入库生成单据 【 上报三方平台 】 if (!Cools.isEmpty(wrkDetls)) { if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { exceptionHandle("生成手动入库单据[workNo={0}]失败", wrkMast.getWrkNo()); } } } // 拣料再入库 } else if (wrkMast.getIoType() == 53) { // if (!Cools.isEmpty(wrkDetls)) { src/main/java/com/zy/common/constant/MesConstant.java
@@ -7,6 +7,11 @@ public static final String URL = "http://192.168.99.130:80"; public static final String ERP_URL = "http://192.168.20.3:99"; public static final String ERP_BIG_URL = "api/v1/AssemVouch_add?db=001&zt=001"; public static final String PACK_DOWN_URL = "mes/api/zy/v1/packDown/sendList"; public static final String PAKIN_URL = "mes/api/zy/v1/warehouse/sendList"; src/main/java/com/zy/common/model/YXErpPakinParam.java
@@ -1,7 +1,10 @@ package com.zy.common.model; import com.core.common.DateUtils; import com.zy.asrs.entity.OrderDetl; import lombok.Data; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -11,55 +14,106 @@ */ @Data public class YXErpPakinParam { // 库存调拨单号 private String cTVCode; //必填 // 单据日期 private String dAVDate; //必填 private String dTVDate; //必填 // 转出仓库编码 private String cOWhCode = "100"; private String dVerifyDate; private String cODepCode = "01"; //必填 private String cIRdCode = "107"; //必填 private String cORdCode = "207"; //必填 // 转入仓库编码 private String cIWhCode = "201"; // 转出部门编码 private String cODepCode; // 转入部门编码 private String cIDepCode; // 入库类别编码 private String cIRdCode = "105"; // 出库类别编码 private String cORdCode = "205"; // 制单人 private String cMaker = "WMS管理员"; // 审核人 // 转出部门编码 private String cVerifyPerson = "WMS管理员"; // 审核日期 private String dVerifyDate; //必填 // 转出仓库编码 private String cAVMemo = "备注"; private String cAVCode; private List<Detl> detail = new ArrayList<>(); public YXErpPakinParam() { this.dTVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dAVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dVerifyDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); } public YXErpPakinParam(String cAVCod, String cAVMemo) { this.dTVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dAVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dVerifyDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.cAVCode = cAVCod; this.cAVMemo = cAVMemo; } public YXErpPakinParam(String dTVDate, String cAVMemo, String cAVCod, List<Detl> detail) { this.dTVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dAVDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dVerifyDate = DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F); this.dTVDate = dTVDate; this.cAVMemo = cAVMemo; this.cAVCode = cAVCod; this.detail = detail; } public YXErpPakinParam(String cODepCode, String cIRdCode, String cORdCode, String cAVMemo, String cMaker, String cVerifyPerson, List<Detl> detail) { this.dTVDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); this.dAVDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); this.dVerifyDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); this.cODepCode = cODepCode; this.cIRdCode = cIRdCode; this.cORdCode = cORdCode; this.cAVMemo = cAVMemo; this.cMaker = cMaker; this.cVerifyPerson = cVerifyPerson; this.detail = detail; } @Data public static class Detl { // 库存调拨单号 private String cTVCode; //必填 private String cbMemo; //必填 // 物料编码 存货编码 private String cAVCode; //必填 private String cWhCode; //必填 private String cInvCode; //必填 // 物料条码 // private String barcode; // 数量 // private Double anfme; private Double iTVQuantity; //必填 private double iAVQuantity; //必填 private String cAVBatch; //必填 private String bAVType; //必填 private Integer iGroupNO; //必填 public Detl() { } public Detl(String cTVCode, String cInvCode, Double iTVQuantity) { this.cTVCode = cTVCode; this.cInvCode = cInvCode; this.iTVQuantity = iTVQuantity; public Detl(OrderDetl orderDetl,boolean bool) { if (bool){ Detl1(orderDetl); } else { Detl2(orderDetl); } } public void Detl1(OrderDetl orderDetl) { this.cbMemo = orderDetl.getMemo(); this.cAVCode = orderDetl.getOrderNo(); this.cWhCode = "100"; this.cInvCode = orderDetl.getMatnr$(); this.iAVQuantity = orderDetl.getWeight(); this.cAVBatch = orderDetl.getBatch(); this.bAVType = "转换前"; this.iGroupNO = 1; } public void Detl2(OrderDetl orderDetl) { this.cbMemo = orderDetl.getMemo(); this.cAVCode = orderDetl.getOrderNo(); this.cWhCode = "201"; this.cInvCode = orderDetl.getMatnr(); this.iAVQuantity = orderDetl.getWeight(); this.cAVBatch = orderDetl.getBatch(); this.bAVType = "转换后"; this.iGroupNO = 1; } }