| | |
| | | import com.zy.asrs.mapper.LocMastMapper; |
| | | import com.zy.asrs.mapper.ManLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.utils.MatUtils; |
| | | import com.zy.asrs.utils.OrderInAndOutUtil; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.constant.AgvConstant; |
| | | import com.zy.common.constant.MesConstant; |
| | | import com.zy.common.entity.Parameter; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.model.LocDto; |
| | | import com.zy.common.model.MesCombParam; |
| | | import com.zy.common.model.enums.WorkNoType; |
| | | import com.zy.common.service.CommonService; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | |
| | | throw new CoolException(param.getBarcode() + "数据正在进行入库"); |
| | | } |
| | | |
| | | if(param.getBarcode().length()!=8){ |
| | | throw new CoolException("条码长度不是8位===>>" + param.getBarcode()); |
| | | if(param.getBarcode().length()!=6){ |
| | | throw new CoolException("条码长度不是6位===>>" + param.getBarcode()); |
| | | } |
| | | // if (param.getCombMats().size()>1){ |
| | | // throw new CoolException("不允许混料===>>" + param.getBarcode()); |
| | |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | |
| | | boolean allEmpty = true; |
| | | if (param.getCombMats() != null) { |
| | | for (CombParam.CombMat mat : param.getCombMats()) { |
| | | if (!Cools.isEmpty(mat.getOrderNo())) { |
| | | allEmpty = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | // 无单组托 |
| | | if (Cools.isEmpty(param.getOrderNo())) { |
| | | if (allEmpty) { |
| | | |
| | | // 生成入库通知档 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | param.getCombMats().forEach(elem -> { |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), |
| | | elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); |
| | | detlDto.setMemo(elem.getMemo()); |
| | | detlDto.setSupp(elem.getSupp()); |
| | | detlDto.setManu(elem.getManu()); |
| | | detlDto.setSuppCode(elem.getSuppCode()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |
| | | DetlDto one = DetlDto.findDto(detlDtos, detlDto); |
| | | assert one != null; |
| | |
| | | waitPakin.setAppeTime(now); |
| | | waitPakin.setModiUser(userId); |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setMemo(detlDto.getMemo()); |
| | | waitPakin.setSupp(detlDto.getSupp()); |
| | | waitPakin.setSuppCode(detlDto.getSuppCode()); |
| | | waitPakin.setManu(detlDto.getManu()); |
| | | waitPakin.setStandby1(detlDto.getStandby1()); |
| | | waitPakin.setStandby2(detlDto.getStandby2()); |
| | | waitPakin.setStandby3(detlDto.getStandby3()); |
| | | waitPakin.setBoxType1(detlDto.getBoxType1()); |
| | | waitPakin.setBoxType2(detlDto.getBoxType2()); |
| | | waitPakin.setBoxType3(detlDto.getBoxType3()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | |
| | | // 关联组托 |
| | | } else { |
| | | // Order order = orderService.selectByNo(param.getOrderNo()); |
| | | Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getOrderNo()); |
| | | Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getCombMats().get(0).getOrderNo()); |
| | | if (Cools.isEmpty(order) || order.getSettle() > 2) { |
| | | throw new CoolException("单据编号已过期"); |
| | | } |
| | |
| | | if (elem.getAnfme() > orderDetl.getEnableQty()) { |
| | | throw new CoolException(orderDetl.getMatnr() + "入库数量不合法"); |
| | | } |
| | | // 修改订单作业数量 |
| | | // if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { |
| | | // throw new CoolException("修改单据作业数量失败"); |
| | | // } |
| | | OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), |
| | | elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), |
| | | elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); |
| | | detlDto.setMemo(elem.getMemo()); |
| | | detlDto.setSupp(elem.getSupp()); |
| | | detlDto.setManu(elem.getManu()); |
| | | detlDto.setSuppCode(elem.getSuppCode()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |
| | | DetlDto one = DetlDto.findDto(detlDtos, detlDto); |
| | | assert one != null; |
| | |
| | | waitPakin.setAppeTime(now); |
| | | waitPakin.setModiUser(userId); |
| | | waitPakin.setModiTime(now); |
| | | waitPakin.setMemo(detlDto.getMemo()); |
| | | waitPakin.setSupp(detlDto.getSupp()); |
| | | waitPakin.setSuppCode(detlDto.getSuppCode()); |
| | | waitPakin.setManu(detlDto.getManu()); |
| | | waitPakin.setStandby1(detlDto.getStandby1()); |
| | | waitPakin.setStandby2(detlDto.getStandby2()); |
| | | waitPakin.setStandby3(detlDto.getStandby3()); |
| | | waitPakin.setBoxType1(detlDto.getBoxType1()); |
| | | waitPakin.setBoxType2(detlDto.getBoxType2()); |
| | | waitPakin.setBoxType3(detlDto.getBoxType3()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | | } |
| | | |
| | | // orderService.updateSettle(order.getId(), 2L, userId); |
| | | OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | @Override |
| | | @Transactional |
| | | public void kittingCall(String locNo, Long userId) { |
| | | try{ |
| | | List<StockOutParam.LocDetl> locDetls = new ArrayList<>(); |
| | | |
| | | |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo)); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)); |
| | | for (LocDetl locDetl:locDetlList){ |
| | | StockOutParam.LocDetl locDto = new StockOutParam.LocDetl(); |
| | | locDto.setLocNo(locDetl.getLocNo()); |
| | | locDto.setMatnr(locDetl.getMatnr()); |
| | | locDto.setBatch(locDetl.getBatch()); |
| | | locDto.setBrand(locDetl.getBrand()); |
| | | locDto.setCount(locDetl.getAnfme()); |
| | | locDto.setStandby1(locDetl.getStandby1()); |
| | | locDto.setStandby2(locDetl.getStandby2()); |
| | | locDto.setStandby3(locDetl.getStandby3()); |
| | | locDto.setBoxType1(locDetl.getBoxType1()); |
| | | locDto.setBoxType2(locDetl.getBoxType2()); |
| | | locDto.setBoxType3(locDetl.getBoxType3()); |
| | | locDetls.add(locDto); |
| | | } |
| | | } |
| | | StockOutParam param = new StockOutParam(); |
| | | param.setOutSite(101); |
| | | param.setLocDetls(locDetls); |
| | | WorkService workService = SpringUtils.getBean(WorkService.class); |
| | | workService.locCheckOut(param,userId); |
| | | } catch (Exception e){ |
| | | throw new CoolException("盘点启动失败!!!"); |
| | | } |
| | | } |
| | | |
| | | @Override |