| | |
| | | public class OutLocBoxExcelListener extends AnalysisEventListener<OutLocBoxExcel> { |
| | | |
| | | private int total = 0; |
| | | private String orderOneNo = null; |
| | | private Long userId; |
| | | List<String[]> OutLocBoxCs = new ArrayList<>(); |
| | | |
| | |
| | | public void invoke(OutLocBoxExcel excel, AnalysisContext ctx) { |
| | | String batch = excel.getBatch(); |
| | | String orderNo = excel.getOrderNo(); |
| | | if (Cools.isEmpty(orderOneNo)){ |
| | | if (!Cools.isEmpty(excel.getOrderNo())){ |
| | | orderOneNo = excel.getOrderNo(); |
| | | } else { |
| | | throw new CoolException("订单号参数为空"); |
| | | } |
| | | } |
| | | String[] s=new String[2]; |
| | | s[0] = batch; |
| | | s[1] = orderNo; |
| | | s[1] = orderOneNo; |
| | | OutLocBoxCs.add(s); |
| | | total++; |
| | | } |
| | |
| | | List<String[]> outLocBoxCList = new ArrayList<>(); |
| | | List<String> outLocBoxCNew = new ArrayList<>(); |
| | | for (String[] outLocBoxC:OutLocBoxCs){ |
| | | total--; |
| | | if (!outLocBoxCNew.contains(outLocBoxC[0])){ |
| | | LocDetl locDetlSou = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", outLocBoxC[0])); |
| | | if (Cools.isEmpty(locDetlSou)){ |
| | | throw new CoolException("箱号:"+outLocBoxC[0]+" 未查询到数据!!!"); |
| | | } |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", locDetlSou.getLocNo()).eq("origin", locDetlSou.getOrigin())); |
| | | for (LocDetl locDetl:locDetls){ |
| | | total++; |
| | | String[] locDetlNow=new String[2]; |
| | | locDetlNow[0] = locDetl.getBatch(); |
| | | locDetlNow[1] = outLocBoxC[1]; |
| | |
| | | total--; |
| | | continue; |
| | | } |
| | | LocDto locDto = new LocDto(locDetl.getManu(), locDetl.getMatnr(), locDetl.getMaktx(),locDetl.getModel(),locDetl.getSpecs(), |
| | | locDetl.getBatch(),locDetl.getBrand(),locDetl.getBarcode(), outLocBoxC[1],locDetl.getAnfme()); |
| | | locDto.setOrigin(locDetl.getOrigin()); |
| | | locDto.setWeight(locDetl.getWeight()); |
| | | // LocDto locDto = new LocDto(locDetl.getManu(), locDetl.getMatnr(), locDetl.getMaktx(),locDetl.getModel(),locDetl.getSpecs(), |
| | | // locDetl.getBatch(),locDetl.getBrand(),locDetl.getBarcode(), outLocBoxC[1],locDetl.getAnfme()); |
| | | // locDto.setOrigin(locDetl.getOrigin()); |
| | | // locDto.setWeight(locDetl.getWeight()); |
| | | LocDto locDto = new LocDto(locDetl); |
| | | locDtos.add(locDto); |
| | | } |
| | | |
| | | StockOutParam param = new StockOutParam(); |
| | | ArrayList<StockOutParam.LocDetl> locDetls = new ArrayList<>(); |
| | | for (LocDto locDto:locDtos){ |
| | | List<LocDto> locDtosList = new ArrayList<>(); |
| | | List<String> batchList = new ArrayList<>(); |
| | | for (LocDto locDto : locDtos) { |
| | | if (!batchList.contains(locDto.getBatch())){ |
| | | batchList.add(locDto.getBatch()); |
| | | locDtosList.add(locDto); |
| | | } |
| | | } |
| | | for (LocDto locDto:locDtosList){ |
| | | StockOutParam.LocDetl locDetl = new StockOutParam.LocDetl(); |
| | | locDetl.setBrand(locDto.getBrand()); |
| | | locDetl.setLocNo(locDto.getLocNo()); |
| | |
| | | locDetl.setOrigin(locDto.getOrigin()); |
| | | locDetl.setWeight(locDto.getWeight()); |
| | | |
| | | param.setOrderNo(locDto.getOrderNo()); |
| | | |
| | | locDetls.add(locDetl); |
| | | } |
| | | param.setLocDetls(locDetls); |
| | | param.setOrderNo(orderOneNo); |
| | | |
| | | if (total>0){ |
| | | workService.startupFullTakeStoreOrder(param,9999L); |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | log.info("导入{}条箱号!", total); |
| | | log.info("出库{}条箱号!", total); |
| | | } |
| | | |
| | | public int getTotal() { |