自动化立体仓库 - WMS系统
zwl
2 天以前 c6820e2cff19f338e70c9b112f19070c240f561a
完善销售订单出库自动勾选
5个文件已修改
50 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -557,9 +557,11 @@
     */
    // pda呼叫空料框出库
    @PostMapping("/callEmptyBinOutBound")
    @ManagerAuth(memo = "pda呼叫空料框出库")
    // @ManagerAuth(memo = "pda呼叫空料框出库")
    public synchronized R callEmptyBinOutBound(@RequestParam(required = false) String locNo
            , @RequestParam(required = false) String size) {
            , @RequestParam(required = false) String size
            , @RequestParam(required = false) String palletFormat
            , @RequestParam(required = false) String agvTaskNo) {
        if (Cools.isEmpty(locNo) || Cools.isEmpty(size)) {
            return R.error("站点或者大小不能为空");
        }
@@ -567,7 +569,7 @@
        if (wrkMast != null) {
            return R.error("该站点="+locNo+"已经有空板出库任务,为了不堵塞堆垛机接驳站点,禁止下发多个空板出库任务");
        }
        return mobileService.callEmptyBinOutBound(locNo,size,getUserId());
        return mobileService.callEmptyBinOutBound(locNo, size, palletFormat, agvTaskNo, 9995L);
    }
    /**
src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -122,6 +122,10 @@
    @ApiModelProperty(value= "拣料")
    private String picking;
    @ApiModelProperty(value= "补空托盘接受mes的agv任务号")
    @TableField("user_no")
    private String userNo;
    @ApiModelProperty(value= "")
    @TableField("link_mis")
    private String linkMis;
@@ -173,10 +177,6 @@
    @ApiModelProperty(value= "")
    @TableField("mtn_type")
    private Double mtnType;
    @ApiModelProperty(value= "")
    @TableField("user_no")
    private String userNo;
    /**
     * 堆垛机启动时间
src/main/java/com/zy/asrs/service/MobileService.java
@@ -104,9 +104,11 @@
    /**
     * pda呼叫空料框出库
     * @param staNo 出库站点
     * @param locType 托盘类型 1.窄,2.宽
     * @param locType 托盘类型 1:小托盘  2:大托盘
     * @param palletFormat 托盘码格式
     * @param agvTaskNo AGV任务号(可选)
     * @param userId 用户id
     */
    R callEmptyBinOutBound(String staNo, String locType, Long userId);
    R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId);
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1329,8 +1329,14 @@
    @Override
    @Transactional
    public R callEmptyBinOutBound(String staNo, String locType, Long userId) {
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", 'D').eq("loc_type2", locType));
    public R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId) {
        EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_sts", 'D').eq("loc_type2", locType);
        if (palletFormat != null && !palletFormat.isEmpty()) {
            wrapper.like("barcode", palletFormat);
        }
        wrapper.orderBy("row1", false);
        LocMast locMast = locMastService.selectOne(wrapper);
        if(locMast == null) {
            return R.parse("该类型:" + locType +"空托盘不存在");
        }
@@ -1347,11 +1353,11 @@
        }
        // 获取路径
        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
        Wrapper<StaDesc> wrapper1 = new EntityWrapper<StaDesc>()
                .eq("type_no", 110)
                .eq("stn_no", sta)
                .eq("crn_no", locMast.getCrnNo());
        StaDesc staDesc = staDescService.selectOne(wrapper);
        StaDesc staDesc = staDescService.selectOne(wrapper1);
        if (staDesc == null) {
            R.parse("出库路径不存在,站点:" + sta);
        }
@@ -1373,11 +1379,13 @@
        wrkMast.setExitMk("N"); // 退出
        wrkMast.setEmptyMk("Y"); // 空板
        wrkMast.setLinkMis("N");
        wrkMast.setUserNo(agvTaskNo);
        wrkMast.setAppeUser(userId);
        wrkMast.setAppeTime(now);
        wrkMast.setModiUser(userId);
        wrkMast.setModiTime(now);
        wrkMast.setMemo(staNo);
        wrkMast.setUserNo(String.valueOf(agvTaskNo));
        wrkMastService.insert(wrkMast);
        // 更新库位状态
src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -71,16 +71,13 @@
                // 保存工作档
                Task task = new Task();
                Date date = new Date();
                String TaskNo = wrkMast.getWrkNo() + "aa" + date.getTime();
                String TaskNo = wrkMast.getUserNo();
                String taskType = "AGV";
                List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                if (wrkMast.getIoType()!=110){
                    if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
                        TaskNo = wrkDetls.get(0).getOrderNo();
                        taskType = "KB-AGV";
                    }
                if (wrkMast.getIoType()==110){
                    TaskNo = wrkDetls.get(0).getOrderNo();
                    taskType = "ZX-AGV-08-1";
                }else{
                    if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
                        OrderPakout orderPakout = orderPakoutService.selectByNo(wrkDetls.get(0).getOrderNo());
@@ -91,7 +88,6 @@
                        }
                    }
                }
                task.setWrkNo(wrkMast.getWrkNo())