自动化立体仓库 - WCS系统
1
ZY
2025-03-29 9b3ef339f87a7eb82c3322c5ec4549ebeb1221ac
src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -1,7 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.exception.CoolException;
@@ -13,9 +12,9 @@
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.StaDescService;
import com.zy.asrs.service.TaskWrkService;
import com.zy.asrs.service.ToWmsService;
import com.zy.asrs.utils.Utils;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
@@ -27,13 +26,11 @@
import com.zy.core.model.protocol.StaProtocol;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Slf4j
@@ -42,14 +39,17 @@
    @Autowired
    private CommonService commonService;
    @Autowired
    private StaDescService staDescService;
    @Value("${wms.url}")
    private String wmsUrl;
    @Value("${wms.taskStatusFeedbackPath}")
    private String taskStatusFeedbackPath;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private ToWmsService toWmsService;
    @Override
    public TaskWrk selectByTaskNo(String taskNo) {
@@ -120,7 +120,7 @@
        taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号
        taskWrk.setModiTime(new Date());
        taskWrk.setModiUser(userId);
        updateById(taskWrk);
        super.updateById(taskWrk);
        CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), true);
        if (crnStn == null) {
@@ -143,36 +143,7 @@
            log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("堆垛机命令生成失败");
        } else {
            try {
                HashMap<String, Object> headParam = new HashMap<>();
                headParam.put("taskNo", taskWrk.getTaskNo());
                headParam.put("status", taskWrk.getStatus());
                headParam.put("ioType", taskWrk.getIoType());
                headParam.put("barcode", taskWrk.getBarcode());
//                headParam.put("reportTime",new Date());
                String response;
                response = new HttpHandler.Builder()
                        // .setHeaders(headParam)
                        .setUri(wmsUrl)
                        .setPath(taskStatusFeedbackPath)
                        .setJson(JSON.toJSONString(headParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                apiLogService.save("wcs派发入库任务上报wms"
                        , wmsUrl + taskStatusFeedbackPath
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(headParam)
                        , response
                        , true
                );
            } catch (Exception e) {
                log.error("wcs派发入库任务上报wms失败", taskWrk);
//                throw new CoolException("wcs派发入库任务上报wms失败");
            }
            toWmsService.addReportLog(taskWrk);
        }
    }
@@ -191,7 +162,7 @@
        taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号
        taskWrk.setModiTime(new Date());
        taskWrk.setModiUser(userId);
        updateById(taskWrk);
        super.updateById(taskWrk);
        CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), false);
        if (crnStn == null) {
@@ -240,7 +211,7 @@
        //taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号
        taskWrk.setModiTime(new Date());
        taskWrk.setModiUser(userId);
        updateById(taskWrk);
        super.updateById(taskWrk);
    }
    @Override