Ver código fonte

试验编号bug

cr 2 meses atrás
pai
commit
f3ff03a16a

+ 19 - 13
blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialNumberRuleController.java

@@ -315,21 +315,27 @@ public class TrialNumberRuleController extends BladeController {
     @ApiOperation(value = "重置试验编号规则")
     public R<String> reTrialNumberRule(Long projectId, Long contractId, Integer type){
         List<TrialNumberRule> trialNumberRules = trialNumberRuleService.getBaseMapper().selectList(Wrappers.<TrialNumberRule>query().lambda().eq(TrialNumberRule::getProjectId, projectId).eq(TrialNumberRule::getContractId, contractId).eq(TrialNumberRule::getType, type).eq(TrialNumberRule::getStatus,2).orderByAsc(TrialNumberRule::getSort));
-        String ids = trialNumberRules.stream()
-            .map(o -> o.getId().toString())
-            .collect(Collectors.joining(","));
-        TrialNumberRule trialNumberRule = trialNumberRules.get(0);
-        trialNumberRuleService.clearTrialNumber(trialNumberRule.getProjectId(),trialNumberRule.getContractId(),trialNumberRule.getType());
-        trialNumberRuleService.deleteLogic(Func.toLongList(ids));
+        if(!trialNumberRules.isEmpty()){
+            String ids = trialNumberRules.stream()
+                    .map(o -> o.getId().toString())
+                    .collect(Collectors.joining(","));
+            TrialNumberRule trialNumberRule = trialNumberRules.get(0);
+            trialNumberRuleService.clearTrialNumber(trialNumberRule.getProjectId(),trialNumberRule.getContractId(),trialNumberRule.getType());
+            trialNumberRuleService.deleteLogic(Func.toLongList(ids));
+        }
         List<TrialNumberRule> rules = trialNumberRuleService.getBaseMapper().selectList(Wrappers.<TrialNumberRule>query().lambda().eq(TrialNumberRule::getProjectId, projectId).eq(TrialNumberRule::getType, type).eq(TrialNumberRule::getStatus, 1).orderByAsc(TrialNumberRule::getSort));
-        for (TrialNumberRule rule : rules) {
-            rule.setId(null);
-            rule.setStatus(2);
-            rule.setContractId(contractId);
+        if(!rules.isEmpty()){
+            for (TrialNumberRule rule : rules) {
+                rule.setId(null);
+                rule.setStatus(2);
+                rule.setContractId(contractId);
+            }
+            trialNumberRuleService.saveOrUpdateBatch(rules);
+            Map<String, String> map = trialNumberRuleService.getTrialNumber(projectId,contractId, type, null, false);
+            return R.data(map.get("trialNumber"));
+        }else {
+            return R.fail("请先在后管设置编号规则");
         }
-        trialNumberRuleService.saveOrUpdateBatch(rules);
-        Map<String, String> map = trialNumberRuleService.getTrialNumber(projectId,contractId, type, null, false);
-        return R.data(map.get("trialNumber"));
     }
 
 

+ 0 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialNumberRuleServiceImpl.java

@@ -378,7 +378,6 @@ public class TrialNumberRuleServiceImpl extends BaseServiceImpl<TrialNumberRuleM
                     TrialAutoNumber one = trialAutoNumberService.getOne(Wrappers.lambdaQuery(TrialAutoNumber.class).eq(TrialAutoNumber::getFormDataId, formDataId).eq(TrialAutoNumber::getType, type));
                     if(one==null){
                         TrialAutoNumber trialAutoNumber = new TrialAutoNumber();
-                        trialAutoNumber.setId(SnowFlakeUtil.getId());
                         trialAutoNumber.setType(type);
                         trialAutoNumber.setNumberRuleId(collect.get(0).getId());
                         trialAutoNumber.setFormDataId(formDataId);

+ 4 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -2155,14 +2155,14 @@ public class TrialSelfInspectionRecordServiceImpl extends BaseServiceImpl<TrialS
         }
             if(dto.getOldRecordNumber()!=null&&dto.getOldRecordNumber().equals(dto.getRecordNo())){
                 if(StringUtils.isNotEmpty(dto.getRecordAutoNumber())){
-                    trialNumberRuleService.checkSave(dto.getProjectId(),4,dto.getId(),dto.getRecordAutoNumber());
-                    bladeRedis.del("trialAutoNumber:" + dto.getContractId() + ":" + 4 + ":" + dto.getId() + ":" + "lock:" + dto.getRecordAutoNumber());
+                    trialNumberRuleService.checkSave(dto.getContractId(),4,record.getId(),dto.getRecordAutoNumber());
+                    bladeRedis.del("trialAutoNumber:" + dto.getContractId() + ":" + 4 + ":" + record.getNodeId() + ":" + "lock:" + dto.getRecordAutoNumber());
                 }
             }
             if(dto.getOldReportNumber()!=null&&dto.getOldReportNumber().equals(dto.getReportNo())){
                 if(StringUtils.isNotEmpty(dto.getReportAutoNumber())){
-                    trialNumberRuleService.checkSave(dto.getProjectId(),5,dto.getId(),dto.getReportAutoNumber());
-                    bladeRedis.del("trialAutoNumber:" + dto.getContractId() + ":" + 5 + ":" + dto.getId() + ":" + "lock:" + dto.getReportAutoNumber());
+                    trialNumberRuleService.checkSave(dto.getContractId(),5,record.getId(),dto.getReportAutoNumber());
+                    bladeRedis.del("trialAutoNumber:" + dto.getContractId() + ":" + 5 + ":" + record.getNodeId() + ":" + "lock:" + dto.getReportAutoNumber());
                 }
             }