Browse Source

Merge remote-tracking branch 'origin/master'

suntianwu 2 years ago
parent
commit
aeaa63eec5

+ 15 - 4
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -67,6 +67,10 @@ public class ProvisionalPlanController extends BaseController {
     @PreAuthorize("@ss.hasPermi('plan:provisionalPlan:insertProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.INSERT)
     public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
+        //年度中已存在的不能再使用(临时审核通过后会进行同步到年度计划)
+        if (provisionalPlanService.countYearProjectName(provisionalPlan.getProjectName()) > 0) {
+            return AjaxResult.error("该项目名称已经使用。");
+        }
         if (provisionalPlanService.countProjectName(provisionalPlan.getProjectName()) > 0) {
             return AjaxResult.error("该项目名称已经使用。");
         }
@@ -85,7 +89,7 @@ public class ProvisionalPlanController extends BaseController {
         provisionalPlan.setProjectStatus("0");
         // 计算是否超限额计划 *** 改为前端录入
         boolean save = provisionalPlanService.save(provisionalPlan);
-        log.info("provisionalPlan的主键id:{}", provisionalPlan.getPlanPracticalId());
+        log.info("provisionalPlan的主键id:{}" , provisionalPlan.getPlanPracticalId());
         List<SysFileRef> sysFileRefs = provisionalPlan.getSysFileRefs();
         if (!ObjectUtils.isEmpty(sysFileRefs)) {
             if (save) {
@@ -104,7 +108,7 @@ public class ProvisionalPlanController extends BaseController {
         return toAjax(save);
     }
 
-    @ApiOperation(value = "删除临时计划", notes = "必传 plan_practical_id")
+    @ApiOperation(value = "删除临时计划" , notes = "必传 plan_practical_id")
     @PostMapping("/deleteProvisionalPlan")
     @PreAuthorize("@ss.hasPermi('plan:provisionalPlan:deleteProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.DELETE)
@@ -120,10 +124,17 @@ public class ProvisionalPlanController extends BaseController {
     @PreAuthorize("@ss.hasPermi('plan:provisionalPlan:updateProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.UPDATE)
     public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlan) {
+        //年度中已存在的不能再使用(临时审核通过后会进行同步到年度计划)
+        if (provisionalPlanService.countYearProjectName(provisionalPlan.getProjectName()) > 0) {
+            return AjaxResult.error("该项目名称已经使用。");
+        }
+        if (provisionalPlanService.countProjectNameOth(provisionalPlan.getProjectName()) > 0) {
+            return AjaxResult.error("该项目名称已经使用。");
+        }
         if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
             return error("临时计划id和修改数据不能为空");
         }
-        log.info(":{}", provisionalPlan);
+        log.info(":{}" , provisionalPlan);
         // 计算是否超限额计划 *** 改为前端录入
         // provisionalPlan.setIsExcess(iSysDeptService.isExcessOrNo(provisionalPlan.getProjectType(), provisionalPlan.getEvaluation(), getDeptId()));
         return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan));
@@ -254,7 +265,7 @@ public class ProvisionalPlanController extends BaseController {
             FileUtils.setAttachmentResponseHeader(response, "临时计划导入模板.xlsx");
             FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
         } catch (Exception e) {
-            log.error("下载文件失败", e);
+            log.error("下载文件失败" , e);
         }
     }
 

+ 18 - 0
purchase-system/src/main/java/com/ozs/plan/mapper/ProvisionalPlanMapper.java

@@ -44,5 +44,23 @@ public interface ProvisionalPlanMapper extends BaseMapper<ProvisionalPlan> {
      * @param projectName 项目名称
      * @return 结果
      */
+    public Integer countYearProjectName(String projectName);
+
+    /**
+     * 查询项目名称是否存在
+     * (也要验证临时计划里不能有重复的)
+     *
+     * @param projectName 项目名称
+     * @return 结果
+     */
     public Integer countProjectName(String projectName);
+
+    /**
+     * 查询项目名称是否存在(除本身外)
+     * (也要验证临时计划里不能有重复的)
+     *
+     * @param projectName 项目名称
+     * @return 结果
+     */
+    public Integer countProjectNameOth(String projectName);
 }

+ 4 - 0
purchase-system/src/main/java/com/ozs/plan/service/ProvisionalPlanService.java

@@ -37,5 +37,9 @@ public interface ProvisionalPlanService extends IService<ProvisionalPlan> {
 
     List<ProvisionalPlan> queryPage(ProvisionalPlanVo vo) throws ParseException;
 
+    public Integer countYearProjectName(String projectName);
+
     public Integer countProjectName(String projectName);
+
+    public Integer countProjectNameOth(String projectName);
 }

+ 10 - 0
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -579,11 +579,21 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         return provisionalPlanList;
     }
 
+    @Override
+    public Integer countYearProjectName(String projectName) {
+        return provisionalPlanMapper.countYearProjectName(projectName);
+    }
+
     @Override
     public Integer countProjectName(String projectName) {
         return provisionalPlanMapper.countProjectName(projectName);
     }
 
+    @Override
+    public Integer countProjectNameOth(String projectName) {
+        return provisionalPlanMapper.countProjectNameOth(projectName);
+    }
+
     private AjaxResult review(ProvisionalPlanVo vo) {
         int review = provisionalPlanMapper.review(vo);
         if (review != 1) {

+ 16 - 1
purchase-system/src/main/resources/mapper/plan/ProvisionalPlanMapper.xml

@@ -238,10 +238,25 @@
 
     </select>
 
-    <select id="countProjectName" resultType="java.lang.Integer" parameterType="java.lang.String">
+    <select id="countYearProjectName" resultType="java.lang.Integer" parameterType="java.lang.String">
         select count(plan_years.plan_year_id)
         from plan_years
         where project_name = #{projectName}
           and del_flay = 0
     </select>
+
+    <select id="countProjectName" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(plan_practical.plan_practical_id)
+        from plan_practical
+        where project_name = #{projectName}
+          and del_flay = 0
+    </select>
+
+    <select id="countProjectNameOth" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select count(plan_practical.plan_practical_id)
+        from plan_practical
+        where project_name = #{projectName}
+          and del_flay = 0
+          and plan_practical_id != #{planPracticalId}
+    </select>
 </mapper>