| | |
| | | @RequestMapping("agvMobile") |
| | | public class AgvMobileController extends BaseController { |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | private AgvMobileService agvMobileService; |
| | | @Autowired |
| | |
| | | } |
| | | |
| | | /* |
| | | 绑定托盘条码与暂存位 |
| | | 绑定货架条码与暂存位 |
| | | */ |
| | | @PostMapping("/combBinging/auth") |
| | | public R combBinding(@RequestBody Map<String,Object> map){ |
| | |
| | | String stationCode = map.get("stationCode").toString(); |
| | | Short containerType = Short.valueOf(barcode.substring(0,2)); |
| | | agvMobileService.combBinding(barcode,stationCode,containerType); |
| | | return R.ok("托盘绑定站点成功"); |
| | | return R.ok("货架绑定站点成功"); |
| | | } |
| | | |
| | | /* |
| | |
| | | @PostMapping("/start/pakin/auth") |
| | | @Synchronized |
| | | @Transactional |
| | | @ManagerAuth(memo = "启动入库") |
| | | public R startPakin(@RequestBody AgvMobileStartPakin params){ |
| | | // 组托 |
| | | params.getCombParams().forEach(combParam -> { |
| | |
| | | */ |
| | | @PostMapping("/pakin/empty/auth") |
| | | @Synchronized |
| | | @ManagerAuth(memo = "空板入库") |
| | | public R pakinEmpty(@RequestBody AgvMobileStartParam params){ |
| | | |
| | | for (AgvMobileStartParam.Pda pda : params.getPad()) { |
| | |
| | | */ |
| | | @PostMapping("/pakout/empty/auth") |
| | | @Synchronized |
| | | @ManagerAuth(memo = "空板出库") |
| | | public R pakoutEmpty(@RequestBody AgvMobileStartParam params){ |
| | | |
| | | for (AgvMobileStartParam.Pda pda : params.getPad()) { |
| | |
| | | } |
| | | |
| | | /* |
| | | 空板出库容器码选择 |
| | | 空板出库货架码选择 |
| | | */ |
| | | @PostMapping("/pakout/empty/container/selector/auth") |
| | | public R containerType(@RequestBody HashMap<String,String> params){ |
| | |
| | | 盘点接口 |
| | | */ |
| | | @PostMapping("/check/detl/v1") |
| | | @ManagerAuth(memo = "库存盘点") |
| | | @Synchronized |
| | | public R checkLocDetl(@RequestBody HashMap<String,String> param){ |
| | | |
| | | String locNo = param.get("locNo"); |
| | |
| | | 盘点库位错乱维护接口 |
| | | */ |
| | | @PostMapping("/update/detl/v1") |
| | | @ManagerAuth(memo = "纠正库位") |
| | | @Synchronized |
| | | public R updateLocDetlLocNo(@RequestBody HashMap<String,String> param){ |
| | | String locNo = param.get("locNo"); |
| | | String containerCode = param.get("containerCode"); |
| | |
| | | } |
| | | |
| | | if((listByLocNo == null && listByContainerCode == null) || listByLocNo.equals(listByContainerCode)){ |
| | | return R.ok("该库位与容器库存一致,无需维护"); |
| | | return R.ok("该库位与货架库存一致,无需维护"); |
| | | } |
| | | |
| | | |
| | |
| | | @PostMapping("/agv/v1/locMove") |
| | | @Transactional |
| | | @ManagerAuth(memo = "调拨单任务下发") |
| | | @Synchronized |
| | | public R agvLocMove(@RequestBody HashMap<String,Object> params){ |
| | | String fl = String.valueOf(params.get("floor")); |
| | | short floor =(short)Integer.parseInt(fl.substring(0, 1)); |
| | |
| | | @PostMapping("/agv/v2/locMove") |
| | | @Transactional |
| | | @ManagerAuth(memo = "调拨单任务下发") |
| | | @Synchronized |
| | | public R agvLocMove2(@RequestBody HashMap<String,Object> params){ |
| | | Date now = new Date(); |
| | | String fl = String.valueOf(params.get("floor")); |
| | |
| | | for (HashMap<String, String> map : dbList) { |
| | | String locNo = map.get("locNo"); |
| | | String barcode = map.get("suppCode"); |
| | | AgvWrkMast source_loc_no = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", locNo)); |
| | | if (!Cools.isEmpty(source_loc_no)) { |
| | | throw new CoolException("当前库位已生成任务!"); |
| | | } |
| | | AgvLocMast locMastS = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo).eq("loc_sts","F")); |
| | | if (Cools.isEmpty(locMastS)) { |
| | | throw new CoolException("当前库位非在库状态!库位号="+locNo); |
| | | } |
| | | AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor); |
| | | // 同步调拨单 |
| | | List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); |
| | |
| | | @PostMapping("/hand/control/locMove") |
| | | @Transactional |
| | | @ManagerAuth(memo = "手动库位转移") |
| | | @Synchronized |
| | | public R handControlLocMove(@RequestBody LocMoveParam param){ |
| | | agvMobileService.handControlLocMove(param, getUserId()); |
| | | return R.ok(); |
| | |
| | | @PostMapping("/hand/control/allocationOut") |
| | | @Transactional |
| | | @ManagerAuth(memo = "调拨离场") |
| | | @Synchronized |
| | | public R allocationOut(@RequestBody AgvMobileStartPakin param){ |
| | | agvMobileService.allocationOut(param, getUserId()); |
| | | return R.ok(); |
| | |
| | | @PostMapping("/hand/control/allocationIn") |
| | | @Transactional |
| | | @ManagerAuth(memo = "调拨进场") |
| | | @Synchronized |
| | | public R allocationIn(@RequestBody AgvMobileStartPakin param){ |
| | | agvMobileService.allocationIn(param, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/hand/control/empOut") |
| | | @Transactional |
| | | @ManagerAuth(memo = "空架离场") |
| | | @Synchronized |
| | | public R empOut(@RequestBody AgvMobileStartPakin param){ |
| | | agvMobileService.empOut(param, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/hand/control/empIn") |
| | | @Transactional |
| | | @ManagerAuth(memo = "空架进场") |
| | | @Synchronized |
| | | public R empIn(@RequestBody AgvMobileStartPakin param){ |
| | | agvMobileService.empIn(param, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/hand/control/doBack") |
| | | @Transactional |
| | | @ManagerAuth(memo = "站点回退") |
| | | @Synchronized |
| | | public R doBack(@RequestBody AgvMobileStartPakin param){ |
| | | if (Cools.isEmpty(param)){ |
| | | return R.error("参数为空"); |
| | | } |
| | | agvMobileService.doBack(param, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/hand/control/handBack") |
| | | @Transactional |
| | | @ManagerAuth(memo = "转手动回流") |
| | | @Synchronized |
| | | public R handBack(@RequestBody AgvMobileStartPakin param){ |
| | | agvMobileService.handBack(param, getUserId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | wrkMast.setSourceLocNo(sourceLocNo); |
| | | //目标站点 |
| | | wrkMast.setLocNo(locNo); |
| | | //容器编码 |
| | | //货架编码 |
| | | wrkMast.setBarcode(barcode); |
| | | //容器类型 |
| | | //货架类型 |
| | | wrkMast.setWhsType(containerType); |
| | | // 目标楼层 |
| | | wrkMast.setCrnNo(floor); |