e0fbb31fcf45f56b7b57c741a6b11f03cf205512..3c02e5919ab81c3710bab8b0cc0e229c8f95d92b
2025-05-23 Junjie
#
3c02e5 对比 | 目录
2025-05-23 Junjie
#
8bae75 对比 | 目录
2025-05-23 Junjie
#
700041 对比 | 目录
2025-05-23 Junjie
#
6d5f12 对比 | 目录
2025-05-23 Junjie
#
87fd4a 对比 | 目录
2025-05-23 taisheng
#
b5a0b7 对比 | 目录
3个文件已修改
192 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java 177 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -191,11 +191,12 @@
        taskWrk.setTaskNo(String.valueOf(workNo1));//任务号
        taskWrk.setWrkNo(workNo1);
        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//任务状态:接收
        taskWrk.setWrkSts(11);
        taskWrk.setCreateTime(now);
        taskWrk.setIoType(1);//入库
        taskWrk.setIoType(2);//出库
        taskWrk.setIoPri(100);//优先级
        taskWrk.setOriginTargetPoint(locMast1.getLocNo());
        taskWrk.setTargetPoint("1");//终点
        taskWrk.setStartPoint(locMast1.getLocNo());
        taskWrk.setTargetPoint("101");//终点
        boolean result = taskWrkService.insert(taskWrk);
        locMast1.setLocSts("R");
@@ -243,14 +244,16 @@
        Date now = new Date();
        TaskWrk taskWrk = new TaskWrk();
        int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//获取入库工作号
        int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号
        taskWrk.setTaskNo(String.valueOf(workNo1));//任务号
        taskWrk.setWrkNo(workNo1);
        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//任务状态:接收
        taskWrk.setWrkSts(1);
        taskWrk.setCreateTime(now);
        taskWrk.setIoType(1);//入库
        taskWrk.setIoPri(100);//优先级
        taskWrk.setOriginTargetPoint("101");
        taskWrk.setOriginTargetPoint("1");
        taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo())));
        taskWrk.setTargetPoint(locMast1.getLocNo());//终点
        boolean result = taskWrkService.insert(taskWrk);
src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java
@@ -32,63 +32,146 @@
    private String wcsmovePath;
    @Value("${wcs.outboundTaskRequest}")
    private String wcsoutboundTaskRequest;
    @Value("${wcs.inboundTaskApplyPathWcs}")
    private String wcsInboundTaskApplyPathWcs;
    @Value("${wms.TaskExecCallback}")
    private String TaskExecCallback;
    @Value("${wms.taskStatusFeedbackPath}")
    private String taskStatusFeedbackPath;
    /**
     * 自动派发出库任务给RCS
     *
     * @throws IOException
     * 自动派发移库任务给RCS
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute() throws IOException {
        if(true){
            List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>()
                    .eq("wrk_sts",1).eq("io_type",3));
            for(TaskWrk taskWrk:taskWrks){
                HashMap<String, Object> headParam = new HashMap<>();
                String response = "";
                Boolean bool = false;
                String dz="";
                if(taskWrk.getIoType()==2){
                    dz=wcsoutboundTaskRequest;
                }else{
                    dz=wcsmovePath;
    public void executeMove() {
        List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
                .eq("wrk_sts", 1).eq("io_type", 3));
        for (TaskWrk taskWrk : taskWrks) {
            HashMap<String, Object> headParam = new HashMap<>();
            String response = "";
            boolean bool = false;
            try {
                headParam.put("taskNo", taskWrk.getTaskNo());
                headParam.put("sourceLocNo", taskWrk.getStartPoint());//源库位
                headParam.put("locNo", taskWrk.getTargetPoint());//目标库位
                log.info("wcs派发任务给RCS移库={}", taskWrk);
                response = new HttpHandler.Builder()
                        // .setHeaders(headParam)
                        .setUri(wcsUrl)
                        .setPath(wcsmovePath)
                        .setJson(JSON.toJSONString(headParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.get("code").equals(200)) {
                    //派发出库任务给RCS==>成功下发移库任务
                    taskWrk.setWrkSts(2);
                    taskWrkService.updateById(taskWrk);
                    bool = true;
                }
                try {
                    headParam.put("taskNo", taskWrk.getTaskNo());
                    headParam.put("sourceLocNo",taskWrk.getStartPoint());//源库位
                    headParam.put("locNo",taskWrk.getTargetPoint());//目标库位
                    log.info("wcs派发任务给RCS出库={}", taskWrk);
                    response = new HttpHandler.Builder()
                            // .setHeaders(headParam)
                            .setUri(wcsUrl)
                            .setPath(dz)
                            .setJson(JSON.toJSONString(headParam))
                            .build()
                            .doPost();
                    JSONObject jsonObject = JSON.parseObject(response);
                    if(jsonObject.get("code").equals(200)){
                        //派发出库任务给RCS==>成功下发出库任务
                        taskWrk.setWrkSts(2);
                        taskWrkService.updateById(taskWrk);
                        bool = true;
                    }
                } catch (Exception e) {
                    log.error("wcs派发任务给RCS出库失败{},返回值={}", taskWrk, response);
                } finally {
                    apiLogService.save("wcs派发任务给RCS出库"
                            , wcsUrl + dz
                            , null
                            , "127.0.0.1"
                            , JSON.toJSONString(headParam)
                            , response
                            , bool
                    );
                }
            } catch (Exception e) {
                log.error("wcs派发任务给RCS移库失败{},返回值={}", taskWrk, response);
            } finally {
                apiLogService.save("wcs派发任务给RCS移库"
                        , wcsUrl + wcsmovePath
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(headParam)
                        , response
                        , bool
                );
            }
        }
    }
    /**
     * 自动派发出库任务给RCS
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void executeOut() {
        List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
                .eq("wrk_sts", 11).eq("io_type", 2));
        for(TaskWrk taskWrk:taskWrks){
            HashMap<String, Object> headParam = new HashMap<>();
            String response = "";
            boolean bool = false;
            try {
                headParam.put("taskNo", taskWrk.getTaskNo());
                headParam.put("sourceLocNo",taskWrk.getStartPoint());//源库位
                headParam.put("staNo",taskWrk.getTargetPoint());//目标站
                log.info("wcs派发任务给RCS出库={}", taskWrk);
                response = new HttpHandler.Builder()
                        .setUri(wcsUrl)
                        .setPath(wcsoutboundTaskRequest)
                        .setJson(JSON.toJSONString(headParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if(jsonObject.get("code").equals(200)){
                    //派发出库任务给RCS==>成功下发出库任务
                    taskWrk.setWrkSts(12);
                    taskWrkService.updateById(taskWrk);
                    bool = true;
                }
            } catch (Exception e) {
                log.error("wcs派发任务给RCS出库失败{},返回值={}", taskWrk, response);
            } finally {
                apiLogService.save("wcs派发任务给RCS出库"
                        , wcsUrl + wcsoutboundTaskRequest
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(headParam)
                        , response
                        , bool
                );
            }
        }
    }
    /**
     * 自动派发入库任务给RCS
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void executeIn() {
        List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
                .eq("wrk_sts", 1).eq("io_type", 2));
        for(TaskWrk taskWrk:taskWrks){
            HashMap<String, Object> headParam = new HashMap<>();
            String response = "";
            boolean bool = false;
            try {
                headParam.put("taskNo", taskWrk.getTaskNo());
                headParam.put("sourceStaNo",taskWrk.getOriginStartPoint());//源站
                headParam.put("staNo",taskWrk.getOriginTargetPoint());//目标站
                headParam.put("locNo",taskWrk.getTargetPoint());//目标库位
                log.info("wcs派发任务给RCS入库={}", taskWrk);
                response = new HttpHandler.Builder()
                        .setUri(wcsUrl)
                        .setPath(wcsInboundTaskApplyPathWcs)
                        .setJson(JSON.toJSONString(headParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if(jsonObject.get("code").equals(200)){
                    //派发出库任务给RCS==>成功下发入库任务
                    taskWrk.setWrkSts(2);
                    taskWrkService.updateById(taskWrk);
                    bool = true;
                }
            } catch (Exception e) {
                log.error("wcs派发任务给RCS入库失败{},返回值={}", taskWrk, response);
            } finally {
                apiLogService.save("wcs派发任务给RCS入库"
                        , wcsUrl + wcsInboundTaskApplyPathWcs
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(headParam)
                        , response
                        , bool
                );
            }
        }
    }
}
src/main/resources/application.yml
@@ -62,7 +62,7 @@
  # 移库申请接口
  movePath: api/InterFace/get_InterFace_TestStorage
wcs:
  urlWcs: 127.0.0.1:9090/wcs
  urlWcs: 127.0.0.1:9090/rcs
  #入库任务申请
  inboundTaskApplyPathWcs: openapi/createInTask
  #出库任务申请