#
1
2025-05-14 dcdfc93b50febf61301832d91dfcddcfa1ca5403
src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -6,6 +6,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.DeviceError;
import com.zy.asrs.entity.StaDesc;
import com.zy.asrs.mapper.TaskWrkMapper;
import com.zy.asrs.entity.TaskWrk;
@@ -18,6 +19,7 @@
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;
import com.zy.core.enums.CrnTaskModeType;
import com.zy.core.enums.SlaveType;
@@ -32,6 +34,7 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -134,17 +137,20 @@
        crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 目标库位层
        crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 目标库位排
        crnCommand.setCommand((short)1);
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand),false)) {
        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
            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());
                headParam.put("taskStatus",taskWrk.getStatusWms());
                headParam.put("ioType",taskWrk.getIoTypeWms());
                headParam.put("barCode",taskWrk.getBarcode());
                headParam.put("reportTime", LocalDateTime.now());
                headParam.put("weight",taskWrk.getScWeight().doubleValue());
//                headParam.put("reportTime",new Date());
                String response;
                response = new HttpHandler.Builder()
                        // .setHeaders(headParam)
@@ -165,7 +171,7 @@
                );
            }catch (Exception e){
                log.error("wcs派发入库任务上报wms失败", taskWrk);
                throw new CoolException("wcs派发入库任务上报wms失败");
//                throw new CoolException("wcs派发入库任务上报wms失败");
            }
        }
@@ -205,7 +211,7 @@
        crnCommand.setDestinationPosY(crnStn.getLev().shortValue());     // 目标库位列
        crnCommand.setDestinationPosZ(crnStn.getRow().shortValue());     // 目标库位层
        crnCommand.setCommand((short)1);
        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
            log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("堆垛机命令生成失败");
        }
@@ -213,9 +219,9 @@
        //生成输送线命令
        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
        StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
        staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
        staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint()));
        if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
        staProtocol.setWorkNo(taskWrk.getWrkNo());
        staProtocol.setStaNo(Integer.parseInt(taskWrk.getTargetPoint()));
        if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
            log.error("输送线命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
            throw new CoolException("输送线命令生成失败");
        }
@@ -247,4 +253,22 @@
    public int saveToHistory(String taskNo) {
        return this.baseMapper.saveToHistory(taskNo);
    }
    @Override
    public List<TaskWrk> selectTaskWrkList(Integer wrkNo,Integer taskNo,Integer status,Date modiTimeStart,Date modiTimeEnd, Integer curr, Integer limit) {
        return this.baseMapper.selectTaskWrkList(wrkNo,taskNo, status,modiTimeStart,modiTimeEnd,curr,limit);
    }
    @Override
    public Long selectTaskWrkListTotal(Integer wrkNo,Integer taskNo,Integer status,Date modiTimeStart,Date modiTimeEnd) {
        return this.baseMapper.selectTaskWrkListTotal(wrkNo,taskNo, status,modiTimeStart,modiTimeEnd);
    }
    @Override
    public int saveToHistoryD(String taskNo) {
        return this.baseMapper.saveToHistoryD(taskNo);
    }
}