自动化立体仓库 - WMS系统
pang.jiabao
15 小时以前 973eed10d720c7dbd0020407c3b89fe1d385944f
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -1,23 +1,21 @@
package com.zy.asrs.service.impl;
import com.alibaba.excel.util.DateUtils;
import com.alibaba.excel.util.StringUtils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.mes.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.rcs.*;
import com.zy.asrs.entity.rcs.RcsReporterTask;
import com.zy.asrs.entity.rcs.RcsTaskContinue;
import com.zy.asrs.entity.rcs.RcsTaskSubmit;
import com.zy.asrs.entity.rcs.RcsTaskTargetRoute;
import com.zy.asrs.mapper.AgvInfoMapper;
import com.zy.asrs.mapper.MatItemBarcodeMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.common.model.DetlDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import lombok.extern.slf4j.Slf4j;
@@ -29,9 +27,7 @@
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Slf4j
@Service
@@ -108,10 +104,8 @@
        MesReturn mesReturn = new MesReturn();
        // 1、物料信息同步
        int matSuccess = 0;
        for (MesMatInfo mesMatInfo : matRecvForm.getItemdata()) {
            if (synMatInfo(mesMatInfo) == 1) {
                matSuccess++;
            } else {
                throw new CoolException("同步物料信息失败");
            }
@@ -454,7 +448,6 @@
                throw new CoolException("保存出库订单明细档失败");
            }
            // TODO:若AGV和输送线没有安全交互,则要保证立库出货完成后再呼叫AGV。
            // 立库生成订单后,自动调度AGV运送到站点,目前多托生成多个。
            try {
                if (!StringUtils.isEmpty(mesOutApply.getTaskno()) && !StringUtils.isEmpty(mesOutApply.getStationId())) {
@@ -708,7 +701,7 @@
            mesOutFeedback.setStationId(dbMemo.getString("StationId"));
            mesOutFeedback.setItemno(dbMemo.getString("Itemno"));
            mesOutFeedback.setTuoPanId(zpalletId);
            if (itemBarCode != null && itemBarCode.size() > 0) {
            if (itemBarCode.size() > 0) {
                mesOutFeedback.setQty(itemBarCode.size());
                mesOutFeedback.setItemBarcode(itemBarCode);
            }
@@ -1030,6 +1023,14 @@
        // 下发给RCS
        RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
        // 模板名
        if(transTask.getCurStationId().startsWith("LL") || transTask.getCurStationId().startsWith("LG")) { // 起点产线
            rcsTaskSubmit.setTaskType("CS2");
        } else if(transTask.getNextStationId().startsWith("LL") || transTask.getNextStationId().startsWith("LG")) { // 终点产线
            rcsTaskSubmit.setTaskType("CS");
        } else { // 不涉及产线
            rcsTaskSubmit.setTaskType("CS3");
        }
        rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno());
        rcsTaskSubmit.setInitPriority(10);  //默认10
        List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
@@ -1046,8 +1047,7 @@
        rcsTaskSubmit.setTargetRoute(targetRouteList);
        // 转发给海康或华晓RCS
//        int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
        int success = 1;
        int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
        if (success == 1) {
            int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);
            Date now = new Date();