Răsfoiți Sursa

修改编码的长度判断

车车 11 luni în urmă
părinte
comite
12cddd3ce5

+ 2 - 2
ktg-admin/src/main/java/com/ktg/web/controller/system/SysAutoCodePartController.java

@@ -41,7 +41,7 @@ public class SysAutoCodePartController extends BaseController {
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysAutoCodePart part){
         if(UserConstants.NOT_UNIQUE.equals(iAutoCodePartService.checkPartUnique(part))){
-            return AjaxResult.error("规则组成不唯一,检查组成编码、组成名称、组成序号");
+            return AjaxResult.error("规则组成不唯一,检查组成编码、组成名称、组成序号");
         }
         part.setCreateBy(getUsername());
         return toAjax(iAutoCodePartService.insertPart(part));
@@ -52,7 +52,7 @@ public class SysAutoCodePartController extends BaseController {
     @PutMapping
     public AjaxResult update(@Validated @RequestBody SysAutoCodePart sysAutoCodePart){
         if(UserConstants.NOT_UNIQUE.equals(iAutoCodePartService.checkPartUnique(sysAutoCodePart))){
-            return AjaxResult.error("规则组成不唯一,检查组成编码、组成名称、组成序号");
+            return AjaxResult.error("规则组成不唯一,检查组成编码、组成名称、组成序号");
         }
         sysAutoCodePart.setUpdateBy(getUsername());
         return toAjax(iAutoCodePartService.updatePart(sysAutoCodePart));

+ 6 - 6
ktg-system/src/main/java/com/ktg/system/service/impl/SysAutoCodePartServiceImpl.java

@@ -48,16 +48,16 @@ public class SysAutoCodePartServiceImpl implements IAutoCodePartService {
         SysAutoCodeRule sysAutoCodeRule = sysAutoCodeRuleMapper.findById(sysAutoCodePart.getRuleId());
         Integer maxLength = sysAutoCodeRule.getMaxLength();
         // 2.获取细则里的所有长度
-        long lengthSum = sysAutoCodePart.getPartLength();
+        Integer lengthSum = sysAutoCodePart.getPartLength();
 
         SysAutoCodePart dto = new SysAutoCodePart();
         dto.setRuleId(sysAutoCodePart.getRuleId());
         List<SysAutoCodePart> sysAutoCodeParts = sysAutoCodePartMapper.selectSysAutoCodePartList(dto);
         if (!sysAutoCodeParts.isEmpty()) {
             long sum = sysAutoCodeParts.stream().mapToLong(SysAutoCodePart::getPartLength).sum();
-            lengthSum = lengthSum + sum;
+            lengthSum = Math.toIntExact(lengthSum + sum);
         }
-        Assert.isFalse(maxLength < lengthSum, "最大长度" + maxLength + "小于分段长度总和" + lengthSum + ",请扩容最大长度!");
+        Assert.isFalse(maxLength != null && lengthSum != null && maxLength < lengthSum, "最大长度" + maxLength + "小于分段长度总和" + lengthSum + ",请扩容最大长度!");
         return sysAutoCodePartMapper.add(sysAutoCodePart);
     }
 
@@ -67,16 +67,16 @@ public class SysAutoCodePartServiceImpl implements IAutoCodePartService {
         SysAutoCodeRule sysAutoCodeRule = sysAutoCodeRuleMapper.findById(sysAutoCodePart.getRuleId());
         Integer maxLength = sysAutoCodeRule.getMaxLength();
         // 2.获取细则里的所有长度
-        long lengthSum = sysAutoCodePart.getPartLength();
+        Integer lengthSum = sysAutoCodePart.getPartLength();
 
         SysAutoCodePart dto = new SysAutoCodePart();
         dto.setRuleId(sysAutoCodePart.getRuleId());
         List<SysAutoCodePart> sysAutoCodeParts = sysAutoCodePartMapper.selectSysAutoCodePartList(dto);
         if (!sysAutoCodeParts.isEmpty()) {
             long sum = sysAutoCodeParts.stream().filter(o -> !Objects.equals(o.getPartId(), sysAutoCodePart.getPartId())).mapToLong(SysAutoCodePart::getPartLength).sum();
-            lengthSum = lengthSum + sum;
+            lengthSum = Math.toIntExact(lengthSum + sum);
         }
-        Assert.isFalse(maxLength < lengthSum, "最大长度" + maxLength + "小于分段长度总和" + lengthSum + ",请扩容最大长度!");
+        Assert.isFalse(maxLength != null && lengthSum != null && maxLength < lengthSum, "最大长度" + maxLength + "小于分段长度总和" + lengthSum + ",请扩容最大长度!");
         return sysAutoCodePartMapper.updateSysAutoCodePart(sysAutoCodePart);
     }