Browse Source

feat: dup plan name

shc 10 months ago
parent
commit
5b12ae887d

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -77,6 +77,12 @@ public class SysImplementPlanManager {
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public Boolean createPlan(SysImplementPlanDTO.OnCreate resource, HnqzUser operator) {
     public Boolean createPlan(SysImplementPlanDTO.OnCreate resource, HnqzUser operator) {
 
 
+        boolean dupName = implementPlanService.dupName(resource.getPlanName(), operator.getDeptId());
+
+        if (dupName) {
+            throw new BizException(String.format("计划名称【%s】已存在,请更正", resource.getPlanName()));
+        }
+
         String username = operator.getUsername();
         String username = operator.getUsername();
         LocalDateTime now = LocalDateTime.now();
         LocalDateTime now = LocalDateTime.now();
         SysImplementPlan plan = BeanUtil.copyProperties(resource, SysImplementPlan.class);
         SysImplementPlan plan = BeanUtil.copyProperties(resource, SysImplementPlan.class);

+ 9 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplementPlanService.java

@@ -48,4 +48,13 @@ public interface SysImplementPlanService extends IService<SysImplementPlan> {
      * @return 可用分
      * @return 可用分
      */
      */
     Long calcAvailScore(Integer planId, Long planScore);
     Long calcAvailScore(Integer planId, Long planScore);
+
+    /**
+     * 校验是否重名
+     *
+     * @param planName    计划名称
+     * @param consignorId 企业ID
+     * @return 校验结果
+     */
+    boolean dupName(String planName, Integer consignorId);
 }
 }

+ 13 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysImplementPlanServiceImpl.java

@@ -78,11 +78,23 @@ public class SysImplementPlanServiceImpl extends ServiceImpl<SysImplementPlanMap
 
 
         long availScore = plan.getAvailScore() - planScore;
         long availScore = plan.getAvailScore() - planScore;
 
 
-        if (availScore < 0){
+        if (availScore < 0) {
             throw new BizException("可用值不足");
             throw new BizException("可用值不足");
         }
         }
         return availScore;
         return availScore;
     }
     }
+
+    /**
+     * 校验是否重名
+     *
+     * @param planName    计划名称
+     * @param consignorId 企业ID
+     * @return 校验结果
+     */
+    @Override
+    public boolean dupName(String planName, Integer consignorId) {
+        return this.count(Wrappers.<SysImplementPlan>lambdaQuery().eq(SysImplementPlan::getPlanName, planName.trim()).eq(SysImplementPlan::getConsignorId, consignorId)) != 0;
+    }
 }
 }