自动化立体仓库 - WMS系统
zjj
2025-02-17 3a6d0287336a7895bb29097a7735dc37dca72dcc
#四向库入出库修改
1个文件已修改
1个文件已添加
55 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/ShuttleMoveTask.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkMastScheduler.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ShuttleMoveTask.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.entity.param;
import lombok.Data;
@Data
public class ShuttleMoveTask {
    private String taskNo;
    private String originLoc;
    private String destLoc;
    private Boolean record;
    private String priority;
}
src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -7,6 +7,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.ShuttleMoveTask;
import com.zy.asrs.entity.param.ShuttleOutTask;
import com.zy.asrs.entity.param.ShuttleTask;
import com.zy.asrs.service.WrkMastService;
@@ -153,6 +154,48 @@
    }
    @Scheduled(cron = "0/3 * * * * ? ") //移库任务下发
    private void ShuttleMoveTaskSend(){
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11).eq("io_type",11));
        if (wrkMasts.isEmpty()) {
            return;
        }
        try {
            for (WrkMast wrkMast : wrkMasts) {
                LocMast destLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
                LocMast originLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("source_loc_no", wrkMast.getSourceLocNo()));
                if (originLoc == null || destLoc == null) {
                    throw new CoolException("下发四向车wcs任务失败");
                }
                String originLoc1 = (originLoc.getRow1()-16)+"-"+originLoc.getBay1()+"-"+originLoc.getLev1();
                String destLoc1 = (destLoc.getRow1()-16)+"-"+destLoc.getBay1()+"-"+destLoc.getLev1();
                ShuttleMoveTask param = new ShuttleMoveTask();
                param.setTaskNo(wrkMast.getWrkNo().toString());
                param.setOriginLoc(originLoc1);
                param.setDestLoc(destLoc1);
                param.setRecord(true);
                param.setPriority("11");
                String response = new HttpHandler.Builder()
                        .setUri(shuttleWcsUrl)
                        .setPath("/openapi/createManualTakeTask")
                        .setJson(JSON.toJSONString(param))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                Integer code = jsonObject.getInteger("code");
                if (code.equals(200)) {
                    wrkMast.setWrkSts(105L);
                    if (!wrkMastService.updateById(wrkMast)) {
                        log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo());
                    }
                }
            }
        }catch (Exception e){
            throw new CoolException("下发四向车wcs任务失败");
        }
    }
}