自动化立体仓库 - WMS系统
#
mrzhssss
2022-11-25 106669c0b850f1467fed8eda92a12343bb9d88d1
#
3个文件已修改
35 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -9,6 +9,7 @@
import com.zy.common.entity.Parameter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -29,6 +30,10 @@
    @Autowired
    private ApiLogService apiLogService;
    @Value("${erp.enable}")
    private Boolean erpEnable;
    @Scheduled(cron = "0 0 1 * * ? ")
    public void clearApiLog(){
        try {
@@ -41,6 +46,7 @@
//    @Scheduled(cron = "0/5 * * * * ? ")
    @Async("orderThreadPool")
    public void completeAndReport(){
        if (!erpEnable) return;
        String erpReport = Parameter.get().getErpReport();
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<Order> orders = orderService.selectComplete();
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -20,6 +20,7 @@
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -44,30 +45,28 @@
    @Autowired
    private DocTypeService docTypeService;
    @Value("${erp.erpUrl}")
    private String url;
    @Transactional
    public ReturnT<String> start(Order order) {
        DocType docType = docTypeService.selectById(order.getDocType());
        if (null == docType) {
            log.info("上报出错,不存在该单据类型: " + order);
            return SUCCESS;
        }
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 入库完成上报
        if (docType.getPakin() == 1) {
            MesPakinParam pakinParam = new MesPakinParam();
            pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
            pakinParam.setLgortFrom("5008");
            pakinParam.setLgortTo("5006");
            for (OrderDetl orderDetl : orderDetls) {
                String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
            }
            JSONObject orderJson = new JSONObject();
            orderJson.put("orderNo",order.getOrderNo());
            String response = "";
            boolean success = false;
            try {
                response = new HttpHandler.Builder()
                        .setUri(MesConstant.URL)
                        .setPath(MesConstant.PAKIN_URL)
                        .setJson(JSON.toJSONString(pakinParam))
                        .setJson(orderJson.toJSONString())
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
@@ -78,7 +77,7 @@
                        throw new CoolException("服务器内部错误,请联系管理员");
                    }
                } else {
                    log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
                    log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(orderJson), response);
                    throw new CoolException("上报mes系统失败");
                }
            } catch (Exception e) {
@@ -89,11 +88,11 @@
                try {
                    // 保存接口日志
                    apiLogService.save(
                            "成品库入库上报",
                            "入库上报",
                            MesConstant.URL + MesConstant.PAKIN_URL,
                            null,
                            "127.0.0.1",
                            JSON.toJSONString(pakinParam),
                            JSON.toJSONString(orderJson),
                            response,
                            success
                    );
src/main/resources/application.yml
@@ -48,4 +48,8 @@
  # 双深库位排号
  doubleLocs: 1,4,5,8,9,12,13,16
  # 一个堆垛机负责的货架排数
  groupCount: 4
  groupCount: 4
#erp
erp:
  enable: false