|  |  | 
 |  |  | import com.zy.common.model.LocTypeDto; | 
 |  |  | import com.zy.common.model.StartupDto; | 
 |  |  | import com.zy.common.service.CommonService; | 
 |  |  | import com.zy.common.service.erp.ErpService; | 
 |  |  | import com.zy.common.service.erp.entity.Goods; | 
 |  |  | import com.zy.common.web.param.SearchLocParam; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | 
 |  |  |     private LocDetlService locDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private MatService matService; | 
 |  |  |     @Autowired | 
 |  |  |     private ErpService erpService; | 
 |  |  |  | 
 |  |  |     @PostMapping("/pakin/loc/v1") | 
 |  |  |     @ResponseBody | 
 |  |  | 
 |  |  |             if (Cools.isEmpty(param.getBarcode())) { | 
 |  |  |                 return R.error("条码不能为空"); | 
 |  |  |             } | 
 |  |  |             mat = matService.selectByMatnr(param.getBarcode()); | 
 |  |  |  | 
 |  |  |             Goods goods = erpService.selectGoodsOne(param.getBarcode()); | 
 |  |  |             if (Cools.isEmpty(goods)) { | 
 |  |  |                 return R.error(param.getBarcode() + "条码不存在,请检查ERP数据!"); | 
 |  |  |             } else { | 
 |  |  |                 erpService.updateStateForGoods(param.getBarcode(), 2); | 
 |  |  |             } | 
 |  |  |             mat = matService.selectByMatnr(goods.getMaterialNO()); | 
 |  |  |             if (Cools.isEmpty(mat)) { | 
 |  |  |                 return R.error(goods.getMaterialNO() + "条码商品资料不存在,请先添加!"); | 
 |  |  |             } | 
 |  |  | //            waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); | 
 |  |  | //            if (Cools.isEmpty(waitPakins)) { | 
 |  |  | //                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); | 
 |  |  | 
 |  |  |         switch (param.getIoType()) { | 
 |  |  |             case 1://满托盘入库 | 
 |  |  |                 assert mat != null; | 
 |  |  |                 dto = startupFullPutStore(param.getSourceStaNo(), null, locTypeDto, mat); | 
 |  |  |                 dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, mat); | 
 |  |  |                 break; | 
 |  |  |             case 10://空托盘入库 | 
 |  |  |                 dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, null); | 
 |  |  | 
 |  |  |         // 生成工作档明细 | 
 |  |  |         WrkDetl wrkDetl = new WrkDetl(); | 
 |  |  |         wrkDetl.sync(mat); | 
 |  |  |         wrkDetl.setAnfme(1.0D); | 
 |  |  |         wrkDetl.setAnfme(mat.getWeight()); | 
 |  |  |         wrkDetl.setBatch(barcode); | 
 |  |  | //        wrkDetl.setAnfme(1.0D); | 
 |  |  |         wrkDetl.setWrkNo(wrkMast.getWrkNo()); | 
 |  |  |         wrkDetl.setIoTime(wrkMast.getIoTime()); | 
 |  |  |         wrkDetl.setAppeTime(now); | 
 |  |  | 
 |  |  |             throw new CoolException(CodeRes.NONE_DETL_900); | 
 |  |  |         } | 
 |  |  |         // 检索库位 | 
 |  |  |         List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList()); | 
 |  |  |         List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMaktx).distinct().collect(Collectors.toList()); | 
 |  |  |         return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 库位号, 堆垛机,目标站 | 
 |  |  |     } | 
 |  |  |  |