src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/constant/MesConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/MesPakinParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -289,13 +289,12 @@ for (DetlDto detlDto : detlDtos) { mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getMatnr(), detlDto.getAnfme())); } System.out.println(JSON.toJSONString(mesCombParam)); String response; try { response = new HttpHandler.Builder() .setUri(MesConstant.URL) .setPath(MesConstant.PACK_DOWN_URL) .setJson(JSON.toJSONString(param)) .setJson(JSON.toJSONString(mesCombParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.Order; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.OrderSyncHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -18,6 +20,8 @@ public class OrderSyncScheduler { @Autowired private OrderSyncHandler orderSyncHandler; @Autowired private OrderService orderService; @Scheduled(cron = "0/3 * * * * ? ") @@ -30,24 +34,14 @@ // } } @Scheduled(cron = "0/3 * * * * ? ") @Scheduled(cron = "0/5 * * * * ? ") private void completeAndReport(){ // 所有订单 List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); for (Order order : orders) { // OpenOrderCompeteResult result = new OpenOrderCompeteResult(); // results.add(result); // result.setOrderNo(order.getOrderNo()); // result.setOrderTime(order.getOrderTime()); // result.setOrderType(order.getDocType$()); // List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); // for (OrderDetl orderDetl : orderDetls) { // result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); // } // // 修改订单状态 4.完成 ===>> 6.已上报 // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("服务器内部错误,请联系管理员"); // } ReturnT<String> result = orderSyncHandler.start(order); if (!result.isSuccess()) { log.error("单据[orderNo={}]上报erp失败", order.getOrderNo()); } } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
New file @@ -0,0 +1,77 @@ package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.constant.MesConstant; import com.zy.common.model.MesPakinParam; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.List; /** * Created by vincent on 2020/7/7 */ @Slf4j @Service public class OrderSyncHandler extends AbstractHandler<String> { @Autowired private JdbcTemplate jdbcTemplate; @Autowired private OrderService orderService; @Autowired private OrderDetlService orderDetlService; @Transactional public ReturnT<String> start(Order order) { List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); MesPakinParam pakinParam = new MesPakinParam(); pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); pakinParam.setLgortFrom("5008"); pakinParam.setLgortTo("5006"); for (OrderDetl orderDetl : orderDetls) { pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr(), orderDetl.getAnfme())); } try { String response = new HttpHandler.Builder() .setUri(MesConstant.URL) .setPath(MesConstant.PAKIN_URL) .setJson(JSON.toJSONString(pakinParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { // 修改订单状态 4.完成 ===>> 6.已上报 if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(pakinParam), response); throw new CoolException("上报mes系统失败"); } } catch (Exception e) { log.error("fail", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } return SUCCESS; } } src/main/java/com/zy/common/constant/MesConstant.java
@@ -10,4 +10,6 @@ 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/MesPakinParam.java
New file @@ -0,0 +1,43 @@ package com.zy.common.model; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * Created by vincent on 2022/4/21 */ @Data public class MesPakinParam { // 入库时间 private String pakinTime; // 来源地 - 写死 private String lgortFrom; // 目的地 - 写死 private String lgortTo; private List<Detl> list = new ArrayList<>(); @Data public static class Detl { // 物料条码 private String barcode; // 数量 private Double anfme; public Detl() { } public Detl(String barcode, Double anfme) { this.barcode = barcode; this.anfme = anfme; } } }