From 0c7662223279a3d18197c47180bbd132d6020906 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 08 四月 2025 13:36:10 +0800 Subject: [PATCH] 标准库添加委托要求功能 --- basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 75 insertions(+), 11 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java index 4ec53ee..1f2e03a 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java @@ -12,6 +12,7 @@ import com.ruoyi.basic.mapper.*; import com.ruoyi.basic.pojo.*; import com.ruoyi.basic.service.StandardMethodListService; +import com.ruoyi.basic.service.StandardProductListSupplierAskService; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; @@ -68,6 +69,15 @@ @Autowired private StandardProductListUpdateRecordRelMapper standardProductListUpdateRecordRelMapper; + @Autowired + private StandardProductListSupplierAskService standardProductListSupplierAskService; + + @Autowired + private StandardProductListSupplierAskBackupRelMapper standardProductListSupplierAskBackupRelMapper; + + @Autowired + private StandardMethodMapper standardMethodMapper; + @Override public int upStandardProductList(StandardProductList list) { @@ -87,6 +97,10 @@ BeanUtils.copyProperties(standardProductList, productListBackupRel); standardProductListBackupRelMapper.insert(productListBackupRel); } + // 鍏宠仈鍟嗗澶囦唤 + StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk(); + standardProductListSupplierAsk.setProductListId(list.getId()); + standardProductListSupplierAskService.backupSupplierAsk(standardProductListSupplierAsk); // 淇敼鐘舵�� list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode()); return standardProductListMapper.updateById(list); @@ -372,14 +386,25 @@ if(StringUtils.isEmpty(checkItemQueryTree.toString())){ return map; } + // 鍒ゆ柇鏄惁涓哄鎵樿姹傛爣鍑� + StandardMethod standardMethod = standardMethodMapper.selectById(id); + if(ObjectUtils.isEmpty(standardMethod)){ + return map; + } + StructureItemParameterDto structureItemParameterDto = new StructureItemParameterDto(); + if(standardMethod.getName().equals("濮旀墭瑕佹眰")){ + structureItemParameterDto.setDelegateRequestFlag("1"); + } + structureItemParameterDto.setTree(checkItemQueryTree.toString()); + // 鏍规嵁妫�楠屽璞�/浜у搧鏌ヨ妫�楠岄」 - List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(checkItemQueryTree.toString()); + List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto); // 濡傛灉鏄骇鍝佺殑妫�鏌ラ」涓虹┖鍚戜笂鎺� if(CollectionUtils.isEmpty(structureItemParameterList)){ String query = "[\"" + sampleType + "\"]"; - structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(query); + structureItemParameterDto.setTree(query); + structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto); } - // 鏌ヨ鏍囧噯搴撳凡缁戝畾妫�鏌ラ」鐩� List<StandardProductList> standardProductList = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() .eq(StandardProductList::getStandardMethodListId, id) @@ -505,6 +530,10 @@ BeanUtils.copyProperties(standardProductList, productListBackupRel); standardProductListBackupRelMapper.insert(productListBackupRel); } + // 鍏宠仈鍟嗗澶囦唤 + StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk(); + standardProductListSupplierAsk.setProductListId(list.getId()); + standardProductListSupplierAskService.backupSupplierAsk(standardProductListSupplierAsk); // 淇敼鐘舵�� list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode()); standardProductListMapper.updateSection(list); @@ -670,7 +699,9 @@ QueryWrapper<StandardProductList> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("check_status",StandardProductListChcekTypeEnums.WAIT_CHECK.getCode()); List<StandardProductList> unCheckStandardProductListArray = standardProductListMapper.selectList(queryWrapper); - + if(CollectionUtils.isEmpty(unCheckStandardProductListArray)){ + throw new RuntimeException("鏆傛棤淇敼鏁版嵁"); + } List<Long> standardProductListIds = new ArrayList<>(); // 鎻掑叆淇敼璁板綍 standardProductListUpdateRecordMapper.insert(standardProductListUpdateRecord); @@ -711,27 +742,60 @@ } // 瀹℃牳閫氳繃 if(StandardProductListChcekTypeEnums.PASS_CHECK.getCode().equals(standardProductListUpdateRecord.getCheckStatus())){ - // 鍒犻櫎澶囦唤鏁版嵁 - standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds); // 淇敼鐘舵�� standardProductListMapper.updateProductListCheckStatus(standardProductListIds,StandardProductListChcekTypeEnums.PASS_CHECK.getCode()); } // 瀹℃牳鏈�氳繃 if(StandardProductListChcekTypeEnums.NO_PASS_CHECK.getCode().equals(standardProductListUpdateRecord.getCheckStatus())){ - // 鏌ヨ鎵�鏈夌殑澶囦唤鏁版嵁 + // 鏌ヨ鎵�鏈夋爣鍑嗘爲涓嬬殑妫�楠岄」鐩浠芥暟鎹� List<StandardProductListBackupRel> standardProductListBackupRelList = standardProductListBackupRelMapper.selectBatchIds(standardProductListIds); - // 鍥炴粴鏁版嵁 + // 鍥炴粴鏍囧噯鏍戜笅鐨勬楠岄」鐩暟鎹� for (StandardProductListBackupRel standardProductListBackupRel : standardProductListBackupRelList) { StandardProductList standardProductList = new StandardProductList(); BeanUtils.copyProperties(standardProductListBackupRel, standardProductList); - standardProductList.setCheckStatus(""); standardProductListMapper.updateById(standardProductList); } - // 鍒犻櫎澶囦唤鏁版嵁 - standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds); + // 鍥炴粴妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃鏁版嵁 + QueryWrapper<StandardProductListSupplierAskBackupRel> supplierAskBackupRelQueryWrapper = new QueryWrapper<>(); + supplierAskBackupRelQueryWrapper.in("product_list_id",standardProductListIds); + List<StandardProductListSupplierAskBackupRel> standardProductListSupplierAskBackupRelList = standardProductListSupplierAskBackupRelMapper.selectList(supplierAskBackupRelQueryWrapper); + if(!CollectionUtils.isEmpty(standardProductListSupplierAskBackupRelList)){ + QueryWrapper<StandardProductListSupplierAsk> deleteWrapper = new QueryWrapper<>(); + deleteWrapper.in("product_list_id",standardProductListIds); + standardProductListSupplierAskMapper.delete(deleteWrapper); + ArrayList<StandardProductListSupplierAsk> supplierAskRollBackList = new ArrayList<>(); + for (StandardProductListSupplierAskBackupRel standardProductListSupplierAskBackupRel : standardProductListSupplierAskBackupRelList) { + StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk(); + BeanUtils.copyProperties(standardProductListSupplierAskBackupRel, standardProductListSupplierAsk); + supplierAskRollBackList.add(standardProductListSupplierAsk); + } + standardProductListSupplierAskMapper.batchInsertSupplierAsk(supplierAskRollBackList); + } + } + // 鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩浠芥暟鎹� + standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds); + // 鍒犻櫎缁戝畾鍘傚澶囦唤鏁版嵁 + standardProductListSupplierAskBackupRelMapper.batchDeleteByProductIds(standardProductListIds); standardProductListUpdateRecordMapper.updateById(standardProductListUpdateRecord); } + + /** + * 鏌ヨ鏍囧噯搴撴槸鍚﹀瓨鍦ㄥ鏍镐腑鐘舵�� + * + * @return + */ + @Override + public boolean existCheckingRecord() { + QueryWrapper<StandardProductListUpdateRecord> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("check_status",StandardProductListChcekTypeEnums.CHECK_ING.getCode()); + List<StandardProductListUpdateRecord> standardProductListUpdateRecordList = standardProductListUpdateRecordMapper.selectList(queryWrapper); + if(CollectionUtils.isEmpty(standardProductListUpdateRecordList)){ + return false; + }else { + return true; + } + } } -- Gitblit v1.9.3