自动化立体仓库 - WMS系统
物料导入更新
任务完成不解绑站点和容器
组托入库时增加判断是否容器和接驳位已经绑定
6个文件已修改
63 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvBasDevpController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Mat.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/entity/MatExcel.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -205,7 +205,7 @@
        return R.ok(result);
    }
    /*
    容器离场
    任务完成
     */
    @RequestMapping(value = "/basDevp/visualized/container/moveOut")
    public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) {
@@ -247,12 +247,12 @@
                   agvWrkMastService.updateById(agvWrkMast);
               });
               //修改站点状态
               devNos.forEach(devNo -> {
                   AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo);
                   agvBasDevp.setBarcode("");
                   agvBasDevp.setLocSts("O");
                   agvBasDevpService.updateById(agvBasDevp);
               });
//               devNos.forEach(devNo -> {
//                   AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo);
//                   agvBasDevp.setBarcode("");
//                   agvBasDevp.setLocSts("O");
//                   agvBasDevpService.updateById(agvBasDevp);
//               });
           }
        } catch (IOException e) {
            e.printStackTrace();
src/main/java/com/zy/asrs/entity/Mat.java
@@ -58,8 +58,8 @@
    /**
     * 物料号
     */
    @ApiModelProperty(value= "物料号")
    @ExcelProperty(value = "物料号")
    @ApiModelProperty(value= "存货编码")
    @ExcelProperty(value = "存货编码")
    private String matnr;
@@ -67,14 +67,14 @@
     * 物料号
     */
    @ApiModelProperty(value= "物料名称")
    @ExcelProperty(value = "物料名称")
    @ExcelProperty(value = "存货名称")
    private String maktx;
    /**
     * 移动类型
     */
    @ApiModelProperty(value= "移动类型")
    //@ExcelProperty(value = "移动类型")
    @ApiModelProperty(value= "生产部门名称")
    @ExcelProperty(value = "生产部门名称")
    private String name;
    /**
@@ -95,28 +95,28 @@
     * 颜色
     */
    @ApiModelProperty(value= "颜色")
    @ExcelProperty(value = "商品分类名称")
    @ExcelProperty(value = "是否内销")
    private String color;
    /**
     * 品牌
     */
    @ApiModelProperty(value= "品牌")
    @ExcelProperty(value = "商品分类编码")
    @ExcelProperty(value = "存货大类名称")
    private String brand;
    /**
     * 单位
     */
    @ApiModelProperty(value= "单位")
    @ExcelProperty(value = "计量单位")
    @ExcelProperty(value = "主计量单位名称")
    private String unit;
    /**
     * 单价
     */
    @ApiModelProperty(value= "单价")
    @ExcelProperty(value = "进项税")
    @ExcelProperty(value = "进项税率%")
    private Double price;
    /**
@@ -130,7 +130,7 @@
     * 包数
     */
    @ApiModelProperty(value= "包数")
    @ExcelProperty(value = "销项税")
    @ExcelProperty(value = "销项税率%")
    private Double units;
    /**
@@ -144,7 +144,7 @@
     * 物料状态
     */
    @ApiModelProperty(value= "物料状态")
    //@ExcelProperty(value = "物料状态")
    @ExcelProperty(value = "是否批次管理")
    private String origin;
    /**
@@ -227,7 +227,7 @@
     */
    @ApiModelProperty(value= "是否批次 1: 是  0: 否  ")
    @TableField("be_batch")
    @ExcelProperty(value = "物料频率")
    //@ExcelProperty(value = "'是否批次管理")
    private Integer beBatch;
    /**
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -222,17 +222,22 @@
    @Override
    public void combBinding(String barcode, String stationCode, Short containerType) {
        AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", stationCode));
        if(Cools.eq(agvBasDevp.getBarcode(),barcode)){
            return;
        }
        if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(barcode))){
            throw new CoolException("该料箱未组托,无法绑定站点");
        }
        AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", barcode));
        AgvBasDevp agvBasDevp1 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", barcode));
        if(!Cools.isEmpty(agvBasDevp)){
        if(!Cools.isEmpty(agvBasDevp1)){
            throw new CoolException(barcode + "已经绑定在"+ agvBasDevp.getDevNo() +"站点");
        }
        agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no",stationCode));
        if(agvBasDevp == null){
            throw new CoolException(stationCode + "站点信息错误");
        }
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -134,7 +134,7 @@
            //判断是否全板出库
            int ioType = isPakOut(sourceLocNo,taskDto) ?  101 : 103;
            //生成工作档
            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,0);
            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
            //生成工作档明细
            taskDto.getLocDtos().forEach(locDto -> {
                if (!BaseController.isJSON(locDto.getOrderNo())) {
@@ -544,9 +544,9 @@
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException(workNo+"工作档不存在");
        }
        if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){
            throw new CoolException("目标库位或者源库位暂未分配,无法取消");
        }
//        if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){
//            throw new CoolException("目标库位或者源库位暂未分配,无法取消");
//        }
        //修改AGV工作档的工作状态为205.工作完成
        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -56,7 +56,7 @@
    }
    /*
    定时处理AGV工作档中工作状态为206.容器离场完成 且 (101.出库 || 110.空板出库)
    定时处理AGV工作档中工作状态为206.出库完成 且 (101.出库 || 110.空板出库)
     */
    @Scheduled(cron = "0/10 * * * * ? ")
    public void excuteCarryWrk(){
src/main/java/com/zy/common/entity/MatExcel.java
@@ -14,10 +14,10 @@
@ExcelIgnoreUnannotated
public class MatExcel extends Mat {
    @ExcelProperty(index = 0, value = "一级分类")
    @ExcelProperty(value = "一级分类")
    private String priClass;
    @ExcelProperty(index = 1, value = "二级分类")
    @ExcelProperty(value = "存货大类编码")
    private String secClass;
}