Jelajahi Sumber

DeBugDeBugDeBug

buzhanyi 2 tahun lalu
induk
melakukan
71e80600b2

+ 3 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -67,6 +67,9 @@ 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.countProjectName(provisionalPlan.getProjectName()) > 0) {
+            return AjaxResult.error("该项目名称已经使用。");
+        }
         //获取采购单位
         LoginUser loginUser = tokenService.getLoginUser(request);
         provisionalPlan.setPurchaseDeptId(String.valueOf(loginUser.getDeptId()));

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

@@ -36,4 +36,13 @@ public interface ProvisionalPlanMapper extends BaseMapper<ProvisionalPlan> {
     ProvisionalPlan selectProvisionalPlanByYearId(@Param("planYearId") Integer planYearId);
 
     List<ProvisionalPlan> query(ProvisionalPlanVo vo);
+
+    /**
+     * 查询项目名称是否存在
+     * (临时计划审核后要同步到年度计划,所以名称不能与年度计划名称重复)
+     *
+     * @param projectName 项目名称
+     * @return 结果
+     */
+    public Integer countProjectName(String projectName);
 }

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

@@ -36,4 +36,6 @@ public interface ProvisionalPlanService extends IService<ProvisionalPlan> {
     AjaxResult auditNoPass(ProvisionalPlanVo provisionalPlanVo);
 
     List<ProvisionalPlan> queryPage(ProvisionalPlanVo vo) throws ParseException;
+
+    public Integer countProjectName(String projectName);
 }

+ 6 - 1
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -387,7 +387,7 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
             if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
                 lw.eq(ProvisionalPlan::getProjectStatus, vo.getProjectStatus());
             } else {
-                lw.apply("  project_status IN (1,3)", "");
+                lw.apply("  project_status IN (1,3)" , "");
             }
             if (!ObjectUtils.isEmpty(vo.getParams())) {
                 if (!ObjectUtils.isEmpty(vo.getParams().get("beginTime"))) {
@@ -579,6 +579,11 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         return provisionalPlanList;
     }
 
+    @Override
+    public Integer countProjectName(String projectName) {
+        return provisionalPlanMapper.countProjectName(projectName);
+    }
+
     private AjaxResult review(ProvisionalPlanVo vo) {
         int review = provisionalPlanMapper.review(vo);
         if (review != 1) {

+ 7 - 0
purchase-system/src/main/resources/mapper/plan/ProvisionalPlanMapper.xml

@@ -237,4 +237,11 @@
         order by create_time desc
 
     </select>
+
+    <select id="countProjectName" 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>
 </mapper>