自动化立体仓库 - WMS系统
luxiaotao1123
2020-07-06 5dc79ad08836c944078234a3c4d97edb416e76f6
#任务中心————库位移转
6个文件已修改
56 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocDetlController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WcsDispatcher.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -24,6 +24,14 @@
    @Autowired
    private LocDetlService locDetlService;
    @RequestMapping(value = "/locDetl/update")
    public R update1() {
        if (!locDetlService.updateLocNo("0402805", "0402804")) {
            return R.error();
        }
        return R.ok();
    }
    @RequestMapping(value = "/locDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -20,4 +20,7 @@
    @Update("update asr_loc_detl set anfme=#{anfme}, modi_time = getDate() where loc_no = #{locNo} and matnr = #{matnr}")
    int updateAnfme(Double anfme, String locNo, String matnr);
    @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
    int updateLocNo(String newLocNo, String oldLocNo);
}
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -13,4 +13,5 @@
     */
    boolean updateAnfme(Double anfme, String locNo, String matnr);
    boolean updateLocNo(String newLocNo, String oldLocNo);
}
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -28,4 +28,9 @@
        }
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo) {
        return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0;
    }
}
src/main/java/com/zy/asrs/task/WcsDispatcher.java
@@ -15,7 +15,7 @@
//@Component
public class WcsDispatcher {
    private static Logger log = LoggerFactory.getLogger(WcsDispatcher.class);
    private static final Logger log = LoggerFactory.getLogger(WcsDispatcher.class);
    private Thread thread;
    @Autowired
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -231,11 +231,46 @@
                break;
            // 库位移转
            case 11:
                // 默认目标库位是空板
                String locType = "D";
                // 库位移转判断是否为空板移转
                if (wrkMast.getEmptyMk().equals("N")) {
                    locType = "F";
                    // 转移库存明细数据: 库存号 由工作档源库位变为目标库位
                    if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
                        exceptionHandle(""); // todo
                    }
                }
                // todo:luxiaotao 3)修改盘点通知档 status ==> Y
                // 修改源库位状态 ==> O
                LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                if (null != sourceLoc) {
                    sourceLoc.setBarcode("");
                    sourceLoc.setLocType("O");
                    sourceLoc.setModiTime(now);
                    sourceLoc.setIoTime(now);
                    if (!locMastService.updateById(sourceLoc)) {
                        exceptionHandle(""); // todo
                    }
                }
                // 修改目标库位状态 ==> .locType
                locMast.setLocType(locType);
                locMast.setBarcode(wrkMast.getBarcode());
                locMast.setIoTime(now);
                locMast.setModiTime(now);
                if (!locMastService.updateById(locMast)) {
                    exceptionHandle(""); // todo
                }
                break;
            default:
                break;
        }
        // 修改工作主档状态
        wrkMast.setWrkSts(5L);
        wrkMast.setModiTime(now);
        if (!wrkMastService.updateById(wrkMast)) {
            exceptionHandle(""); // todo
        }
    }
    private void doOut(WrkMast wrkMast){