From f41e23e6db7436fd9e1b811314d2f497d8bc63f2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 15 八月 2023 17:43:11 +0800 Subject: [PATCH] 111 --- server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 82 insertions(+), 1 deletions(-) diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java index fff2bcd..ffb5760 100644 --- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java +++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java @@ -83,6 +83,10 @@ private MaterialExtMapper materialExtMapper; @Autowired private SalaryParamMapper salaryParamMapper; + @Autowired + private PlansExtMapper plansExtMapper; + @Autowired + private DeviceExtMapper deviceExtMapper; @Transactional(rollbackFor = {BusinessException.class,Exception.class}) @Override @@ -188,6 +192,14 @@ return mp; } + private void getPlansAndValid(LoginUserInfo user, Plans mp) throws BusinessException{ + if(mp== null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇ヨ褰曚笉瀛樺湪锛�"); + } + if(Constants.equalsInteger(mp.getPaused(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝宸ュ崟宸叉殏鍋滐紒"); + } + } private QueryBomDetailExtDTO initBomParam(LoginUserInfo user, Workorder mp) throws BusinessException{ QueryBomExtDTO bb = new QueryBomExtDTO(); @@ -207,6 +219,27 @@ bom.setBomId(versionBom.getBomVersionId()); // bom.setProcedureId(mp.getProcedureId()); bom.setWorkorderId(mp.getId()); + return bom; + } + + private QueryBomDetailExtDTO initBomParamForPlans(LoginUserInfo user, Plans plans) throws BusinessException{ + QueryBomExtDTO bb = new QueryBomExtDTO(); + bb.setDepartId(plans.getDepartId()); + bb.setDeleted(Constants.ZERO); + bb.setRootDepartId(user.getRootDepartment().getId()); + bb.setMaterialId(plans.getMaterialId()); + bb.setProcedureId(plans.getProcedureId()); + BomExtListVO versionBom = bomExtMapper.selectByModel( bb); + if(versionBom == null || StringUtils.isBlank(versionBom.getVersion()) || versionBom.getBomVersionId() == null){ + return null; + // throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠墿鏂橞OM淇℃伅閰嶇疆鏈夎锛岃鑱旂郴绠$悊鍛橈紒"); + } + plans.setBomModel(versionBom); + QueryBomDetailExtDTO bom = new QueryBomDetailExtDTO(); + bom.setDeleted(Constants.ZERO); + bom.setBomId(versionBom.getBomVersionId()); +// bom.setProcedureId(mp.getProcedureId()); + bom.setPlansId(plans.getId()); return bom; } @@ -1110,7 +1143,52 @@ return PageData.from(new PageInfo<>(result)); } - + @Override + public PageData<WStockExtListVO> choiceStockPageForPlans(PageWrap<QueryWStockDto> pageWrap,LoginUserInfo userInfo) { + Plans plans =plansExtMapper.selectById(pageWrap.getModel().getPlansId()); + if(Objects.isNull(plans)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈煡璇㈠埌宸ュ簭璁″垝淇℃伅锛�"); + } + Device device = deviceExtMapper.selectById(pageWrap.getModel().getDeviceId()); + if(Objects.isNull(plans)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈煡璇㈠埌璁惧淇℃伅锛�"); + } + //鏌ヨ骞堕獙璇佸伐鍗曚俊鎭� + this.getPlansAndValid(userInfo,plans); + //鏌ヨ鍏ㄩ儴bom缁勬垚鏁版嵁锛屽鏋滄湁BOM閰嶇疆锛屾寜鐓OM缁勬垚杩涜鎶曟枡锛屽鏋滄病鏈塀OM閰嶇疆锛屽垯鎶曟枡鐗╂枡涓哄緟鐢熶骇搴撲綅鐨勭墿鏂欐湰韬� + QueryBomDetailExtDTO bdparam = initBomParamForPlans(userInfo,plans); + List<BomDetailExtListVO> bomDetailList = null; + if(bdparam!=null){ + bomDetailList = bomDetailExtMapper.selectList(bdparam); + List<Integer> materialDistributeId = bomDetailList.stream().map(BomDetailExtListVO::getMaterialId).collect(Collectors.toList()); + pageWrap.getModel().setMaterialDistributeId(materialDistributeId); + }else{ + //鏌ヨ鐗╂枡BOM淇℃伅 + Bom bom = bomExtMapper.selectOne(new QueryWrapper<Bom>().eq("MATERIAL_ID",plans.getMaterialId()).eq("DELETED",Constants.ZERO).last(" limit 1 ")); + if(Objects.isNull(bom)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈煡璇㈠埌BOM淇℃伅锛�"); + } + RouteProcedure currentRouteProcedure = routeProcedureExtMapper.selectOne(new QueryWrapper<RouteProcedure>() + .eq("ROUTE_ID",bom.getRouteId()) + .eq("PROCEDURE_ID",plans.getProcedureId()) + .last(" limit 1 ") + ); + if(currentRouteProcedure!=null){ + RouteProcedure routeProcedure = routeProcedureExtMapper.selectOne(new QueryWrapper<RouteProcedure>() + .eq("ROUTE_ID",currentRouteProcedure.getRouteId()).apply(" SORTNUM < " + currentRouteProcedure.getSortnum() ).eq("STATUS",Constants.ONE).orderByDesc(" SORTNUM ").last(" limit 1 ") + ); + if(Objects.isNull(routeProcedure)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈煡璇㈠埌鐢熶骇鐗╂枡涓婁竴姝ュ伐搴忎俊鎭紒"); + } + pageWrap.getModel().setProcedureId(routeProcedure.getProcedureId()); + pageWrap.getModel().setMaterialId(plans.getMaterialId()); + } + } + pageWrap.getModel().setLocationId(device.getProduceWarehouseLocationId()); + PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); + List<WStockExtListVO> result = wStockExtMapper.choiceStockList(pageWrap.getModel()); + return PageData.from(new PageInfo<>(result)); + } @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) @@ -1184,5 +1262,8 @@ workorderRecordExtMapper.insert(workorderRecord); return workorderRecord; } + + + } -- Gitblit v1.9.3