Parcourir la source

优化删除项目和删除成本测算

qianxb il y a 2 ans
Parent
commit
9604d196cb

+ 3 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectCostBudget.java

@@ -73,6 +73,9 @@ public class ProjectCostBudget extends BaseEntity {
     @ApiModelProperty(value = "预算备注")
     private String budgetRemark;
 
+    @ApiModelProperty(value = "之前是否审批通过")
+    private String approve;
+
 
 
 }

+ 2 - 1
blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectCostBudgetStats.java

@@ -43,6 +43,7 @@ public class ProjectCostBudgetStats extends BaseEntity {
     @ApiModelProperty(value = "管理总金额")
     private BigDecimal manageCostTotal;
 
-
+    @ApiModelProperty(value = "之前是否审批通过,1通过")
+    private Integer approve;
 
 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractInfoController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/contractInfo")
-@Api(value = "合同信息接口", tags = "合同信息接口")
+@Api(value = "项目合同接口", tags = "项目合同接口")
 public class ContractInfoController {
     private final IContractInfoService contractInfoService;
 

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractReturnedInfoController.java

@@ -22,7 +22,7 @@ import java.util.List;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/contractReturnedInfo")
-@Api(value = "合同回款接口", tags = "合同回款接口")
+@Api(value = "项目合同-合同回款接口", tags = "项目合同-合同回款接口")
 public class ContractReturnedInfoController {
 
     private final IContractReturnedInfoService contractReturnedInfoService;

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectCostBudgetStatsController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/projectCostBudgetStats")
-@Api(value = "项目成本测算统计接口", tags = "项目成本测算统计接口")
+@Api(value = "成本测算接口", tags = "成本测算接口")
 public class ProjectCostBudgetStatsController {
 
     private final IProjectCostBudgetStatsService budgetStatsService;

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectInfoController.java

@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/projectInfo")
-@Api(value = "项目信息接口", tags = "项目信息接口")
+@Api(value = "项目列表接口", tags = "项目列表接口")
 public class ProjectInfoController {
     private final IProjectInfoService projectInfoService;
 

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.xml

@@ -5,7 +5,7 @@
 
     <delete id="removeOldBudget">
         delete from c_project_cost_budget
-        where project_id = #{projectId}
+        where project_id = #{projectId} and approve = 0
     </delete>
 
     <select id="budgetList" resultType="org.springblade.control.vo.ProjectCostBudgetVO">

+ 4 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetStatsServiceImpl.java

@@ -17,6 +17,7 @@ import org.springblade.control.service.IProjectCostBudgetStatsService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.vo.ProjectCostBudgetStatsVO;
 import org.springblade.control.vo.ProjectCostBudgetVO;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springframework.stereotype.Service;
@@ -82,6 +83,9 @@ public class ProjectCostBudgetStatsServiceImpl extends BaseServiceImpl<ProjectCo
     @Transactional
     public void deleteByProjectId(Long id) {
         ProjectCostBudgetStats stats = this.getById(id);
+        if (stats.getApprove() == 1){
+            throw new ServiceException("已经审批通过,不能删除");
+        }
         //先删除成本详情
         budgetService.deleteByProjectId(stats.getProjectId());
         //再删除成本统计

+ 10 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java

@@ -6,12 +6,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.control.dto.ControlProjectInfoDTO;
+import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.DictInfo;
+import org.springblade.control.entity.ProjectCostBudgetStats;
 import org.springblade.control.mapper.ProjectInfoMapper;
+import org.springblade.control.service.IContractInfoService;
+import org.springblade.control.service.IProjectCostBudgetStatsService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.vo.ControlProjectInfoVO;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springblade.system.entity.DictBiz;
@@ -31,6 +36,7 @@ import java.util.List;
 public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, ControlProjectInfo> implements IProjectInfoService {
     private final ProjectInfoMapper infoMapper;
     private final IProjectProcessService processService;
+    private final IContractInfoService contractInfoService;
 
     /**
      * 自定义分页
@@ -91,6 +97,10 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
     @Override
     @Transactional
     public void removeProjectInfo(Long id) {
+        ControlContractInfo one1 = contractInfoService.getOne(new LambdaQueryWrapper<ControlContractInfo>().eq(ControlContractInfo::getProjectId, id));
+        if (one1 != null){
+            throw new ServiceException("项目存在合同,不能删除");
+        }
         baseMapper.deleteById(id);
         processService.removeProjectProcess(id);
     }