| | |
| | | package com.zy.common.web; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | |
| | | 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.getSourceStaNo())) { |
| | | return R.error("源站编号不能为空"); |
| | | } |
| | | // List<WaitPakin> waitPakins = null; |
| | | List<WaitPakin> waitPakins = null; |
| | | Mat mat = null; |
| | | if (param.getIoType() == 1) { |
| | | if (Cools.isEmpty(param.getBarcode())) { |
| | | return R.error("条码不能为空"); |
| | | } |
| | | mat = matService.selectByMatnr(param.getBarcode()); |
| | | if (Cools.isEmpty(mat)) { |
| | | return R.error(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) || waitPakins.size()!=1) { |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); |
| | | if (wrkMast != null && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 104 || wrkMast.getIoType() == 107)) { |
| | | return R.parse(CodeRes.PICK_600); |
| | | } |
| | | return R.parse(CodeRes.NO_COMB_700); |
| | | } |
| | | // waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); |
| | | // if (Cools.isEmpty(waitPakins)) { |
| | | // WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); |
| | | // if (wrkMast != null && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 104 || wrkMast.getIoType() == 107)) { |
| | | // return R.parse(CodeRes.PICK_600); |
| | | // } |
| | | // return R.parse(CodeRes.NO_COMB_700); |
| | | // } |
| | | // int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); |
| | | // int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); |
| | | // if (countLoc > 0 || countWrk > 0) { |
| | | // return R.error("工作档/库存条码数据已存在"); |
| | | // } |
| | | mat = matService.selectByMatnr(waitPakins.get(0).getMatnr()); |
| | | mat.setWeight(waitPakins.get(0).getAnfme()); |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); |
| | | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); |
| | | if (countLoc > 0 || countWrk > 0) { |
| | | return R.error("工作档/库存条码数据已存在"); |
| | | } |
| | | } |
| | | // if (Cools.isEmpty(param.getLocType1())){ |
| | | // return R.error("高低检测信号不能为空"); |
| | |
| | | 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); |
| | |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); |
| | | // 检索库位 |
| | | List<Mat> mats = Collections.singletonList(mat); |
| | | List<String> matnrList = mats.stream().map(Mat::getMaktx).distinct().collect(Collectors.toList()); |
| | | List<String> matnrList = mats.stream().map(Mat::getMatnr).distinct().collect(Collectors.toList()); |
| | | StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrList, locTypeDto,0); |
| | | int workNo = dto.getWorkNo(); |
| | | Date now = new Date(); |
| | |
| | | // 生成工作档明细 |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(mat); |
| | | wrkDetl.setAnfme(1.0D); |
| | | wrkDetl.setAnfme(mat.getWeight()); |
| | | wrkDetl.setZpallet(barcode); |
| | | // wrkDetl.setAnfme(1.0D); |
| | | wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | | wrkDetl.setIoTime(wrkMast.getIoTime()); |
| | | wrkDetl.setAppeTime(now); |