| | |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private ReportQueryMapper reportQueryMapper; |
| | | @Autowired |
| | | private WorkService workService; |
| | | |
| | | // @PostMapping("/order/matSync/default/v1") |
| | | //// @AppAuth(memo = "商品信息同步接口") |
| | | // public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey, |
| | |
| | | */ |
| | | |
| | | @PostMapping("/outOrder") |
| | | public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){ |
| | | public synchronized R outOrder(@RequestBody ArrayList<OutTaskParam> params, HttpServletRequest request) { |
| | | if (Cools.isEmpty(params)) { |
| | | return R.error("请求参数不能为空"); |
| | | } |
| | | request.setAttribute("cache", params); |
| | | Set<String> orderIds = new LinkedHashSet<>(); |
| | | for (OutTaskParam outTaskParam : params) { |
| | | if (Cools.isEmpty(outTaskParam) || Cools.isEmpty(outTaskParam.getOrderId())) { |
| | |
| | | Collections.sort(seqs); |
| | | for (int i = 0; i < seqs.size(); i++) { |
| | | if (!String.valueOf(seqs.get(i)).equals(String.valueOf(i + 1))) { |
| | | return R.error("出库单「" + oid + "」序号不连续"); |
| | | return R.error("出库单「" + oid + "」序号不连贯"); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | for (OutTaskParam outTaskParam : validOutOrders) { |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F").eq("barcode", outTaskParam.getPalletId())); |
| | | if (locMast == null) { |
| | | throw new CoolException("没有找到托盘码=" + outTaskParam.getPalletId() + "对应的库位"); |
| | | R r = openService.outOrder(outTaskParam,validOutOrders.size()); |
| | | if (!r.get("code").equals(200)){ |
| | | return r; |
| | | } |
| | | } |
| | | |
| | | if(errorOutOrders.size() > 0) { |
| | | return R.error("库存中不存在该托盘").add(errorOutOrders); |
| | | } |