自动化立体仓库 - WMS系统
zwl
8 天以前 b187814d7cfa5ace1ed9c203372524c69fe56553
1.完善AGV任务任务下发
2.拣料回库数据更新维护
12个文件已修改
233 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Task.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -610,8 +610,8 @@
                .setFullPlt("Y") // 满板:Y
                .setPicking("N") // 拣料
                .setExitMk("N")// 退出
                .setStaNo(staNo)
                .setSourceStaNo(taskNo)//agv取货站点
                .setStaNo(taskNo)
                .setSourceStaNo(sourceStaNo)//agv取货站点
                .setEmptyMk("N")// 空板
                .setBarcode(staNo)// 托盘码
                .setLinkMis("N")
@@ -640,9 +640,7 @@
                        break;
                    }
                }
                if (boo) {
                    settle.remove(orderPakin);
                }else {
                if (!boo) {
                    list.add(orderPakin.getOrderNo());
                }
            }else {
src/main/java/com/zy/asrs/entity/Task.java
@@ -398,10 +398,16 @@
    public String getTaskType$(){
        if (Cools.isEmpty(this.taskType)){return  null;}
        if (taskType.equals("AGV")) {
        if (taskType.equals("AGV") || taskType.equals("agv")) {
            return "AGV任务";
        }if(taskType.equals("AGV补空料架")){
            return "AGV补空料架任务";
        }if(taskType.equals("AGV空料架回缓存区")){
            return "AGV空料架回缓存区任务";
        }if(taskType.equals("ZX-AGV")){
            return "转序搬运任务";
        } else {
            return "堆垛机任务";
            return "其他搬运任务";
        }
    }
src/main/java/com/zy/asrs/entity/rcs/RcsTaskSubmit.java
@@ -9,7 +9,7 @@
public class RcsTaskSubmit {
    // 任务类型,枚举值:TRANSPORT搬运。
    private String taskType = "CS3";
    private String taskType = "PP";
    // 执行步骤集合。本次任务机器人需要执行的关键路径,序号0代表起点,序号1代表终点。
    private List<RcsTaskTargetRoute> targetRoute;
    // 任务唯一编号,如果为空,系统生成任务号并返回。
src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -239,7 +239,6 @@
            newMemo.put("itemdata", list);
            // 生成订单
            OrderPakin orderPakin = new OrderPakin();
            orderPakin.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
@@ -260,8 +259,8 @@
                    // 生成明细
                    Mat mat = matService.selectByMatnr(mesMatInfo.getItemNo());
                    if(Cools.isEmpty(mat)){
                        log.error("该物料编号立库没有="+mesMatInfo.getItemNo());
                    if (Cools.isEmpty(mat)) {
                        log.error("该物料编号立库没有=" + mesMatInfo.getItemNo());
                        continue;
                    }
                    OrderDetlPakin orderDetlPakin = new OrderDetlPakin();
@@ -1004,9 +1003,9 @@
            }
            //有多少种不同的配盘号   只有配盘出库单需要知道
            if (mesCallOutApply.getTransType().equals("配盘出库单")){
            if (mesCallOutApply.getTransType().equals("配盘出库单")) {
                orderPakout.setPayType(set.size());
                String shipCode =mesCallOutApply.getItemdata().get(0).getTrayid().split("-")[2];
                String shipCode = mesCallOutApply.getItemdata().get(0).getTrayid().split("-")[2];
                orderPakout.setShipCode(shipCode);//区域  是否是特殊托盘
                orderPakoutService.updateById(orderPakout);
            }
@@ -1040,11 +1039,11 @@
            orderPakin.setPakinPakoutStatus(1);
            orderPakinService.insert(orderPakin);
            if (mesCallOutApply.getItemdata() != null && !mesCallOutApply.getItemdata().isEmpty()) {
                for (MesCallOutApply.MesOutApplyItem mesOutApplyItem : mesCallOutApply.getItemdata()){
                for (MesCallOutApply.MesOutApplyItem mesOutApplyItem : mesCallOutApply.getItemdata()) {
                    // 生成明细
                    Mat mat = matService.selectByMatnr(mesOutApplyItem.getItemno());
                    if(Cools.isEmpty(mat)){
                        log.error("该物料编号立库没有="+mesOutApplyItem.getItemno());
                    if (Cools.isEmpty(mat)) {
                        log.error("该物料编号立库没有=" + mesOutApplyItem.getItemno());
                        continue;
                    }
                    OrderDetlPakin orderDetlPakin = new OrderDetlPakin();
@@ -1105,73 +1104,37 @@
            return result;
        }
        // 下发给RCS
        RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
        rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno());
        rcsTaskSubmit.setInitPriority(10);  //默认10
        List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
        RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
        startRoute.setSeq(0);
        startRoute.setCode(transTask.getCurStationId());
        startRoute.setOperation("COLLECT");
        targetRouteList.add(startRoute);
        RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
        endRoute.setSeq(1);
        endRoute.setCode(transTask.getNextStationId());
        endRoute.setOperation("DELIVERY");
        targetRouteList.add(endRoute);
        rcsTaskSubmit.setTargetRoute(targetRouteList);
        int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);
        Date now = new Date();
        Task task = new Task();
        task.setWrkNo(workNo);
        task.setTaskType("ZX-AGV");
        task.setWrkSts(301L);//301.AGV任务创建
        task.setIoType(3);//3.站到站
        task.setIoPri(10.00);
        task.setWrkDate(now);
        task.setBarcode(transTask.getBarcode());
        task.setSourceStaNo(transTask.getCurStationId());
        task.setStaNo(transTask.getNextStationId());
        task.setBarcode(transTask.getTuoPanId());
        task.setModiUser(defaultUserId);
        task.setModiTime(now);
        task.setAppeUser(defaultUserId);
        task.setAppeTime(now);
        task.setTaskNo(transTask.getTaskno());
        task.setMemo(JSONObject.toJSONString(transTask));
        task.setPltType(transTask.getAgvFactory());//华晓AGV
        task.setPacked(transTask.getRackNumber());//料架号
        task.setCtnType(1);
        // 转发给海康或华晓RCS
        int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
        if (success == 1) {
            int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);
            Date now = new Date();
            Task task = new Task();
            task.setWrkNo(workNo);
            task.setTaskType("ZX-AGV");
            task.setWrkSts(302L);//302.AGV任务执行中
            task.setIoType(3);//3.站到站
            task.setIoPri(10.00);
            task.setWrkDate(now);
            task.setBarcode(transTask.getBarcode());
            task.setSourceStaNo(transTask.getCurStationId());
            task.setStaNo(transTask.getNextStationId());
            task.setBarcode(transTask.getTuoPanId());
            task.setModiUser(defaultUserId);
            task.setModiTime(now);
            task.setAppeUser(defaultUserId);
            task.setAppeTime(now);
            task.setTaskNo(transTask.getTaskno());
            task.setMemo(JSONObject.toJSONString(transTask));
            task.setPltType(transTask.getAgvFactory());//华晓AGV
            task.setPacked(transTask.getRackNumber());//料架号
        if (taskService.insert(task)) {
                result.put("Success", "1");
                result.put("Message", "任务接收成功");
            taskService.insert(task);
//            Mat mat = matService.selectByMatnr(transTask.getItemno());
//            TaskDetl taskDetl = new TaskDetl();
//            taskDetl.setWrkNo(task.getWrkNo());
//            taskDetl.setIoTime(task.getIoTime());
//            taskDetl.setMatnr(transTask.getItemno());
//            taskDetl.setAnfme(0.0);
//            taskDetl.setStandby1(String.valueOf(transTask.getQty()));
//            taskDetl.setMaktx(mat.getMaktx());
//            taskDetl.setSpecs(mat.getSpecs());
//            taskDetl.setOrderNo(transTask.getOrderNo());
//            taskDetl.setZpallet(transTask.getTuoPanId());
//            taskDetl.setMemo(JSONObject.toJSONString(transTask.getItemBarcode()));
//            taskDetl.setModiUser(defaultUserId);
//            taskDetl.setModiTime(now);
//            taskDetl.setAppeUser(defaultUserId);
//            taskDetl.setAppeTime(now);
//            taskDetlService.insert(taskDetl);
            result.put("Success", "1");
            result.put("Message", "任务接收成功");
        } else {
        }else {
            result.put("Success", "2");
            result.put("Message", "任务下发给RCS失败");
        }
        return result;
    }
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -22,6 +22,8 @@
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.system.entity.Config;
import com.zy.system.service.impl.ConfigServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -114,6 +116,8 @@
    private BasStationService basStationService;
    @Autowired
    private BasContainerService basContainerService;
    @Autowired
    private ConfigServiceImpl configService;
    @Override
    @Transactional
@@ -741,11 +745,11 @@
                Date date = new Date();
                String s = "";
                if (param.getBarcode().charAt(0) == '3'){
                    s = "Z-307";
                    s = "307";
                }else if (param.getBarcode().charAt(0) == '4'){
                    s = "Z-402";
                    s = "402";
                }else if (param.getBarcode().charAt(0) == '5'){
                    s = "Z-401";
                    s = "401";
                }
                String TaskNo = param.getBarcode()+"aa"+date.getTime();
                task.setWrkNo((int) date.getTime())
@@ -1334,12 +1338,12 @@
        //滑块库
        if(locMast.getLocType3()==1){
            if(locMast.getLocType2()==1){
                sta = "Z-402";
                sta = "402";
            }else if(locMast.getLocType2()==2){
                sta = "Z-401";
                sta = "401";
            }
        }else if(locMast.getLocType3()==2){
            sta="Z-307";
            sta="307";
        }
        // 获取路径
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -447,7 +447,7 @@
            String slotCode = values.getString("slotCode");
            try {
                // q3,q8=1
                if ("1".equals(carrierType)) {    //AGV
                    EntityWrapper<Task> wrapper = new EntityWrapper<>();
                    wrapper.eq("task_no", robotTaskCode);
                    Task task = taskService.selectOne(wrapper);
@@ -563,7 +563,7 @@
                        }
                        break;
                    }
                }
                // 返回RCS
                rcsReturn.setCode("SUCCESS");
                rcsReturn.setMessage("");
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -79,7 +79,7 @@
                        .setPicking("N") // 拣料
                        .setExitMk("N")// 退出
                        .setStaNo(wrkMast.getMemo())
                        .setSourceStaNo("Z-"+wrkMast.getSourceStaNo())
                        .setSourceStaNo(wrkMast.getSourceStaNo())
                        .setEmptyMk("N")// 空板
                        .setBarcode(wrkMast.getBarcode())// 托盘码
                        .setLinkMis("N")
@@ -107,7 +107,7 @@
            return;
        }
        //查询所有agv待下发任务
        List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301));
        List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301).orderBy("appe_time"));
        if (wrkSts != null && !wrkSts.isEmpty()) {
            for (Task task : wrkSts) {
                //查询是否有正在作业的源站和目标站有一样的agv搬运任务
@@ -116,6 +116,7 @@
                        .eq("wrk_sts", 302)
                        .andNew()
                        .in("source_sta_no", task.getSourceStaNo(), task.getStaNo())
                        .or()
                        .in("sta_no", task.getStaNo(), task.getSourceStaNo()));
                Boolean flag = true;
                if (Cools.isEmpty(task1)) {
@@ -123,45 +124,52 @@
                    //如果是接驳站点则需要判断接驳站点是否有空料架
                    //如果有空料架需要判断是否有出库任务
                    //有出库任务则禁止下发本次搬运任务
                    if (task.getStaNo().equals("Z-401") || task.getStaNo().equals("Z-402") || task.getStaNo().equals("Z-307")) {
                    if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
                        flag = false;
                        BasDevp basDevp = basDevpService.checkSiteStatus(Integer.parseInt(task.getStaNo()));
                        if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) && basDevp.getInreq1().equals("Y")) {
                        if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1())
                                && basDevp.getInreq1().equals("Y")
                                && basDevp.getLoading().equals("N")
                                && basDevp.getWrkNo()!=9991
                                && basDevp.getWrkNo()!=9999) {
                            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                                    .in("io_type", 101, 110)
                                    .eq("sta_no", task1.getStaNo()));
                            flag = false;
                            if (Cools.isEmpty(wrkMasts)) {
                                    .le("wrk_sts", 14)
                                    .eq("sta_no", task.getStaNo()));
                            List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type", 1).eq("sta_no", task.getStaNo()));
                            if (Cools.isEmpty(wrkMasts)&&Cools.isEmpty(wrkMasts1)) {
                                //判断是否已经生成空料架搬运回空料架补库区
                                //如果有的话,不在生成任务
                                Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("sta_no", task1.getStaNo()).eq("source_sta_no", task1.getSourceStaNo()));
                                Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("task_type","AGV空料架回缓存区").eq("source_sta_no", task.getStaNo()));
                                //有入库任务搬运,需要生成空料架搬运到空料架缓冲区AGV任务
                                if (Cools.isEmpty(task2)) {
                                    //生成AGV搬运出库任务
                                    // 保存工作档
                                    String SourceStaNo = "";
                                    if (task.getStaNo().equals("Z-401")) {
                                    if (task.getStaNo().equals("401")) {
                                        //大料架缓冲区
                                        SourceStaNo = "Q-E3";
                                    }else if (task.getStaNo().equals("Z-402")) {
                                    }else if (task.getStaNo().equals("402")) {
                                        SourceStaNo = "Q-E2";
                                    }else if (task.getStaNo().equals("Z-307")) {
                                    }else if (task.getStaNo().equals("307")) {
                                        SourceStaNo = "Q-E1";
                                    }
                                    Task task3 = new Task();
                                    Date date = new Date();
                                    String TaskNo = task.getTaskNo() + "-" + date.getTime();
                                    String TaskNo = task.getTaskNo() + "bb" + date.getTime();
                                    task3.setWrkNo(999999)
                                            .setTaskNo(TaskNo)
                                            .setIoTime(date)
                                            .setWrkSts(301L) // 工作状态:301.任务下发
                                            .setIoType(4) // 入出库状态: 3.站到站  4.站到区域
                                            .setTaskType("agv")
                                            .setTaskType("AGV空料架回缓存区")
                                            .setIoPri(10D)
                                            .setFullPlt("Y") // 满板:Y
                                            .setPicking("N") // 拣料
                                            .setExitMk("N")// 退出
                                            .setStaNo(task.getStaNo())
                                            .setSourceStaNo(SourceStaNo)//空料架缓存区E1
                                            .setStaNo(SourceStaNo)
                                            .setSourceStaNo(task.getStaNo())//空料架缓存区E1
                                            .setEmptyMk("N")// 空板
                                            .setBarcode("")// 托盘码
                                            .setLinkMis("N")
@@ -169,15 +177,21 @@
                                            .setAppeTime(date)
                                            .setModiUser(9945L)
                                            .setModiTime(date);
                                    if (!taskService.insert(task)) {
                                    if (!taskService.insert(task3)) {
                                        throw new CoolException("保存工作档失败");
                                    }
                                    break;
                                }
                            }
                        }else if(basDevp != null && !Cools.isEmpty(basDevp.getInreq1())
                                && basDevp.getInreq1().equals("N")
                                && basDevp.getLoading().equals("N")
                                ) {
                            flag = true;
                        }
                    }
                    if (flag) {
                    if (flag || task.getTaskType().equals("AGV空料架回缓存区")) {
                        //AGV任务下发
                        ReturnT<String> start = AGVTaskReportHandler.start(task);
                        if (!start.isSuccess()) {
@@ -188,6 +202,7 @@
                            if (!taskService.updateById(task)) {
                                log.error("工作档[workNo={}]标记待处理失败", task.getWrkNo());
                            }
                            break;
                        }else {
                            task.setCtnType(task.getCtnType()+1);
                            task.setModiTime(new Date());
src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
@@ -37,14 +37,14 @@
        }else if(task.getIoType()==5){
            SourceStaNoType = "ZONE";
        }
        String taskType = "CS3";
        String taskType = "PP";
        Boolean flag1 = false;
        Boolean flag2 = false;
        if(task.getStaNo().equals("Z-401")|| task.getStaNo().equals("Z-402")|| task.getStaNo().equals("Z-307")){
        if(task.getStaNo().equals("401")|| task.getStaNo().equals("402")|| task.getStaNo().equals("307")){
            taskType = "YLIN";
            flag1 = true;
        }
        if (task.getSourceStaNo().equals("Z-401")|| task.getSourceStaNo().equals("Z-402")|| task.getSourceStaNo().equals("Z-307")){
        if (task.getSourceStaNo().equals("401")|| task.getSourceStaNo().equals("402")|| task.getSourceStaNo().equals("307")){
            taskType = "YLOUT";
            flag2 = true;
        }
@@ -59,7 +59,7 @@
            StaNo = split[0]+split[1];
        }
        if (task.getSourceStaNo().split("-")[0].equals("Q")) {
            String[] split = task.getStaNo().split("-");
            String[] split = task.getSourceStaNo().split("-");
            SourceStaNo = split[0]+split[1];
        }
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -246,9 +246,9 @@
                    for (WrkDetl wrkDetl : wrkDetls53) {
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                                , null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                        if (null != locDetl) {
                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),null, wrkDetl.getStandby2(), wrkDetl.getStandby3()
                                    , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
//                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -612,10 +612,12 @@
        //查询是否有关联的WrkMast任务
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", task.getWrkNo()));
        if (wrkMast != null) {
            if (wrkMast.getIoType()==110){
            if (wrkMast.getIoType()==110&& wrkMast.getWrkSts()>12){
                wrkMast.setWrkSts(32L);//32.等待组托
            }else if (wrkMast.getIoType()==101){
                wrkMast.setWrkSts(15L);//15.出库更新完成
            }else if (wrkMast.getIoType()==103 && wrkMast.getWrkSts()>12){
                wrkMast.setWrkSts(20L);//20.等待回库
            }
            wrkMast.setModiTime(new Date());
            wrkMastService.updateById(wrkMast);
src/main/java/com/zy/common/web/WcsController.java
@@ -89,6 +89,13 @@
            return R.error("高低检测信号不能为空");
        }
        //入库时对空板出库任务进行完成
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()).eq("wrk_sts",110));
        if (!Cools.isEmpty(wrkMast)) {
            wrkMast.setWrkSts(15L);//空板出库任务转历史档
            wrkMastService.updateById(wrkMast);
        }
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
        sourceStaNo.setLocType1(param.getLocType1());
@@ -311,23 +318,31 @@
        if (!tasks.isEmpty()){
            return R.error("有对堆垛机接驳站点的AGV搬运任务,暂时无法生成AGV搬运任务");
        }
        String sourceStaNo = "Q-";
        if(wrkMast.getStaNo().equals("401")){
            sourceStaNo = sourceStaNo + "E3";
        }else if(wrkMast.getStaNo().equals("402")){
            sourceStaNo = sourceStaNo + "E2";
        }else if(wrkMast.getStaNo().equals("307")){
            sourceStaNo = sourceStaNo + "E1";
        }
        //生成AGV搬运空料架任务
        // 保存工作档
        Task task = new Task();
        Date date = new Date();
        String TaskNo = wrkMast.getWrkNo()+"-"+date.getTime();
        String TaskNo = wrkMast.getWrkNo()+"aa"+date.getTime();
        task.setWrkNo(wrkMast.getWrkNo())
                .setTaskNo(TaskNo)
                .setIoTime(date)
                .setWrkSts(301L) // 工作状态:301.任务下发
                .setIoType(5) // 入出库状态: 5.区域到站
                .setTaskType("agv")
                .setTaskType("AGV补空料架")
                .setIoPri(10D)
                .setFullPlt("N") // 满板:Y
                .setPicking("N") // 拣料
                .setExitMk("N")// 退出
                .setStaNo(wrkMast.getStaNo())
                .setSourceStaNo("E1")//空料架缓存区E1
                .setSourceStaNo(sourceStaNo)//空料架缓存区
                .setEmptyMk("Y")// 空板
                .setBarcode("")// 托盘码
                .setLinkMis("N")
src/main/resources/application-dev.yml
@@ -135,7 +135,7 @@
#mes对接
mes:
  url: http://172.26.160.5:80/dev-api/basicmodel/WmsFit/Api/
  url: http://192.9.100.173:8088/prod-api/basicmodel/WmsFit/Api/
  #默认接口操作人员id
  defaultUserId: 30
src/main/resources/mapper/WrkMastMapper.xml
@@ -64,7 +64,7 @@
    </resultMap>
    <select id="selectToBeCompleteData" resultMap="BaseResultMap">
        select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no
        select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 )  and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no
    </select>
    <select id="selectToBeHistoryData" resultMap="BaseResultMap">