自动化立体仓库 - WMS系统
#
zjj
2024-09-19 d647ee9a9564a769f053d93bd7cf6e95dd8f5b3c
#
1个文件已添加
6个文件已修改
92 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/ShuttleTask.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkMastService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkMastScheduler.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ShuttleTask.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.entity.param;
import lombok.Data;
@Data
public class ShuttleTask {
    private String taskNo;
    private String destLoc;
    private String originSite;
    private String barcode;
    private String priority;
}
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -26,4 +26,6 @@
    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
    int saveWrkMastLog(Integer workNo);
    List<WrkMast> selectToShuttleTask();
}
src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -28,4 +28,5 @@
    int saveWrkMastLog(Integer wrkNo);
    List<WrkMast> selectToShuttleTask();
}
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -9,6 +9,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Slf4j
@@ -58,5 +59,12 @@
    @Override
    public int saveWrkMastLog(Integer workNo){
        return this.baseMapper.saveWrkMastLog(workNo);
    };
    }
    @Override
    public List<WrkMast> selectToShuttleTask() {
        return this.baseMapper.selectToShuttleTask();
    }
    ;
}
src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -1,12 +1,21 @@
package com.zy.asrs.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.ShuttleTask;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.LocMastServiceImpl;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkMastHandler;
import com.zy.common.utils.HttpHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -26,6 +35,12 @@
    @Autowired
    private WorkMastHandler workMastHandler;
    @Value("${shuttleWcs.url}")
    private String shuttleWcsUrl;
    @Autowired
    private LocMastServiceImpl locMastService;
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute(){
        List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
@@ -45,4 +60,44 @@
        }
    }
//    @Scheduled(cron = "0/3 * * * * ? ")
    private void ShuttleTaskSend(){
        List<WrkMast> wrkMasts = wrkMastService.selectToShuttleTask();
        if (wrkMasts.isEmpty()) {
            return;
        }
        try {
            for (WrkMast wrkMast : wrkMasts) {
                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
                if (locMast == null) {
                    throw new CoolException("下发四向车wcs任务失败");
                }
                String loc = (locMast.getRow1()-16)+"-"+locMast.getBay1()+"-"+locMast.getLev1();
                ShuttleTask param = new ShuttleTask();
                param.setTaskNo(wrkMast.getWrkNo().toString());
                param.setDestLoc(loc);
                param.setOriginSite("31002");
                param.setBarcode(wrkMast.getBarcode());
                param.setPriority("11");
                String response = new HttpHandler.Builder()
                        .setUri(shuttleWcsUrl)
                        .setPath("/openapi/createInTask")
                        .setJson(JSON.toJSONString(param))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                Integer code = jsonObject.getInteger("code");
                if (code.equals(200)) {
                    wrkMast.setWrkSts(1L);
                    if (!wrkMastService.updateById(wrkMast)) {
                        log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo());
                    }
                }
            }
        }catch (Exception e){
            throw new CoolException("下发四向车wcs任务失败");
        }
    }
}
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8080
  port: 58080
  servlet:
    context-path: /@pom.build.finalName@
@@ -103,4 +103,6 @@
agv:
  url: ""
  taskCreatePath: ""
  taskCreatePath: ""
shuttleWcs:
  url: "127.0.0.1:9090/wcs"
src/main/resources/mapper/WrkMastMapper.xml
@@ -99,5 +99,11 @@
            </otherwise>
        </choose>
    </select>
    <select id="selectToShuttleTask" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where wrk_sts=2
           and crn_no = 7
        order by io_time,wrk_no asc
    </select>
</mapper>