| | |
| | | import com.core.annotations.AppAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.google.common.collect.Lists; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.asrs.service.WaitPakinService; |
| | | import com.zy.asrs.service.WrkDetlService; |
| | | import com.zy.asrs.service.WrkMastLogService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.model.LocDetlDto; |
| | | import com.zy.common.model.enums.WorkNoType; |
| | |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | |
| | | // @PostMapping("/order/matSync/default/v1") |
| | | //// @AppAuth(memo = "商品信息同步接口") |
| | |
| | | */ |
| | | @PostMapping("/comb/auth") |
| | | public synchronized R comb(@RequestBody ArrayList<MesToCombParam> param){ |
| | | List<MesToCombParam> errorComb = Lists.newArrayList(); |
| | | List<MesToCombParam> validComb = Lists.newArrayList(); |
| | | for (MesToCombParam mesToCombParam : param) { |
| | | // if (mesToCombParam.getPalletId().length() != 8) { |
| | | // return R.error(mesToCombParam.getPalletId()+"-该托盘码不为8位"); |
| | |
| | | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", mesToCombParam.getPalletId())); |
| | | // int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getPalletId())); |
| | | if (countLoc > 0 || countWrk > 0) { |
| | | return R.error(mesToCombParam.getPalletId()+"-工作档/库存条码数据已存在"); |
| | | errorComb.add(mesToCombParam); |
| | | // return R.error(mesToCombParam.getPalletId()+"-工作档/库存条码数据已存在"); |
| | | continue; |
| | | } |
| | | // 判断是否有相同条码的数据 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | eq("zpallet", mesToCombParam.getPalletId()).eq("io_status", "N")) > 0) { |
| | | waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", mesToCombParam.getPalletId())); |
| | | } |
| | | validComb.add(mesToCombParam); |
| | | } |
| | | for (MesToCombParam mesToCombParam : param) { |
| | | for (MesToCombParam mesToCombParam : validComb) { |
| | | openService.mesToComb(mesToCombParam); |
| | | } |
| | | // TODO:待测试 |
| | | if(errorComb.size() > 0) { |
| | | return R.error("托盘已在库存中/已开始入库").add(errorComb); |
| | | } |
| | | |
| | | return R.ok(); |
| | |
| | | |
| | | @PostMapping("/outOrder") |
| | | public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){ |
| | | for (OutTaskParam outTaskParam : params) { |
| | | openService.outOrder(outTaskParam); |
| | | if (Cools.isEmpty(params)) { |
| | | return R.error("请求参数不能为空"); |
| | | } |
| | | Set<String> orderIds = new LinkedHashSet<>(); |
| | | for (OutTaskParam outTaskParam : params) { |
| | | if (Cools.isEmpty(outTaskParam) || Cools.isEmpty(outTaskParam.getOrderId())) { |
| | | return R.error("出库单号不能为空"); |
| | | } |
| | | orderIds.add(outTaskParam.getOrderId()); |
| | | } |
| | | if (!orderIds.isEmpty()) { |
| | | Set<String> existedOrderIds = new LinkedHashSet<>(); |
| | | List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("user_no", orderIds)); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | if (!Cools.isEmpty(wrkMast.getUserNo())) { |
| | | existedOrderIds.add(wrkMast.getUserNo()); |
| | | } |
| | | } |
| | | List<WrkMastLog> wrkMastLogs = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().in("user_no", orderIds)); |
| | | for (WrkMastLog wrkMastLog : wrkMastLogs) { |
| | | if (!Cools.isEmpty(wrkMastLog.getUserNo())) { |
| | | existedOrderIds.add(wrkMastLog.getUserNo()); |
| | | } |
| | | } |
| | | if (!existedOrderIds.isEmpty()) { |
| | | return R.error("出库单号已存在任务档或任务历史档:" + String.join(",", existedOrderIds)); |
| | | } |
| | | } |
| | | |
| | | List<OutTaskParam> errorOutOrders = Lists.newArrayList(); |
| | | List<OutTaskParam> validOutOrders = Lists.newArrayList(); |
| | | for (OutTaskParam outTaskParam : params) { |
| | | // TODO:待測試,校驗庫存信息,不存在則返回 |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", outTaskParam.getPalletId())); |
| | | if (countLoc == 0){ |
| | | errorOutOrders.add(outTaskParam); |
| | | continue; |
| | | } |
| | | validOutOrders.add(outTaskParam); |
| | | } |
| | | |
| | | for (OutTaskParam outTaskParam : validOutOrders) { |
| | | R r = openService.outOrder(outTaskParam); |
| | | if (!r.get("code").equals(200)){ |
| | | return r; |
| | | } |
| | | } |
| | | |
| | | if(errorOutOrders.size() > 0) { |
| | | return R.error("库存中不存在该托盘").add(errorOutOrders); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |