瀏覽代碼

Merge remote-tracking branch 'origin/master'

liuyc 2 年之前
父節點
當前提交
cc8568d7f2
共有 13 個文件被更改,包括 88 次插入9 次删除
  1. 1 1
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectCostBudget.java
  2. 4 0
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectCostBudgetVO2.java
  3. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.java
  4. 4 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml
  5. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractReturnedInfoMapper.java
  6. 4 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractReturnedInfoMapper.xml
  7. 1 1
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.java
  8. 5 4
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectCostBudgetMapper.xml
  9. 2 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IContractReturnedInfoService.java
  10. 3 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/AnnualBudgetServiceImpl.java
  11. 19 2
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java
  12. 5 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractReturnedInfoServiceImpl.java
  13. 36 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetServiceImpl.java

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

@@ -50,7 +50,7 @@ public class ProjectCostBudget extends BaseEntity {
     private BigDecimal budgetDays;
 
     @ApiModelProperty(value = "岗位类型")
-    private Integer postType;
+    private Long postType;
 
     @ApiModelProperty(value = "投入人员数量")
     private BigDecimal staffCount;

+ 4 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectCostBudgetVO2.java

@@ -44,4 +44,8 @@ public class ProjectCostBudgetVO2 extends ProjectCostBudget {
     @ApiModelProperty(value = "项目名称")
     private String projectName;
 
+    @ApiModelProperty(value = "0不显示分解子计划,1显示分解子计划")
+    private Integer isShowChildren;
+
+
 }

+ 2 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.java

@@ -38,4 +38,6 @@ public interface ContractInfoMapper extends BaseMapper<ControlContractInfo> {
     BigDecimal getYearContractMoney(@Param("year") int year);
 
     List<EMInvoiceInfoVO> getContractInvoiceList(@Param("contractId") Long contractId);
+
+    void realDeleteById(@Param("id") Long id);
 }

+ 4 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml

@@ -2,6 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.control.mapper.ContractInfoMapper">
 
+    <delete id="realDeleteById">
+        delete from c_control_contract_info
+        where id = #{id}
+    </delete>
 
     <select id="getNoConnectionProject" resultType="org.springblade.control.entity.ControlProjectInfo">
         select pi.id,pi.name from c_control_project_info pi left join c_control_contract_info ci on pi.id = ci.project_id WHERE pi.is_deleted = 0 and  ci.id is null

+ 2 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractReturnedInfoMapper.java

@@ -28,4 +28,6 @@ public interface ContractReturnedInfoMapper extends BaseMapper<ContractReturnedI
     BigDecimal getYearReturned(@Param("year") int year);
 
     List<ContractReturnedInfo> getProjectReturnedByMonth(@Param("date") String date);
+
+    void deleteByContractId(@Param("contractId") Long contractId);
 }

+ 4 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractReturnedInfoMapper.xml

@@ -7,6 +7,10 @@
         delete from c_contract_returned_info
         where contract_id = #{contractId} and  practical_returned_time is null and practical_returned_money is null
     </delete>
+    <delete id="deleteByContractId">
+        delete from c_contract_returned_info
+        where contract_id = #{contractId}
+    </delete>
     <select id="getListByContractId" resultType="org.springblade.control.vo.ContractReturnedInfoVO">
         select
             ri.*,

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

@@ -51,7 +51,7 @@ public interface ProjectCostBudgetMapper extends BaseMapper<ProjectCostBudget> {
 
     List<ProjectCostBudget> MonthOfYearPlanOverview(@Param("user") Long user,@Param("year") int year);
 
-    Integer getPostMoney(@Param("type") Integer postType);
+    Double getPostMoney(@Param("type") Long postType);
 
     List<ProjectCostBudget> getAllBudgetByProjectId(@Param("id") Long id);
 

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

@@ -140,10 +140,7 @@
         where pcb.task_user = #{user} and pcb.is_deleted = 0
             and (DATE_FORMAT(pcb.plan_start_time,'%Y') = #{year} or DATE_FORMAT(pcb.plan_end_time,'%Y') = #{year})
     </select>
-    <select id="getPostMoney" resultType="java.lang.Integer">
-        select dict_value
-        from c_dict_info where `type` = 3 and code = #{type}
-    </select>
+
     <select id="getAllBudgetByProjectId" resultType="org.springblade.control.entity.ProjectCostBudget">
         select * from c_project_cost_budget pcb WHERE  pcb.is_deleted =0 and pcb.project_id = #{id} and pcb.parent_id = 0
     </select>
@@ -249,6 +246,10 @@
     <select id="getUnitType" resultType="org.springblade.control.entity.DictInfo">
         select * from c_dict_info WHERE code = 'unit_type' order by sort
     </select>
+    <select id="getPostMoney" resultType="java.lang.Double">
+        select dict_value
+        from c_dict_info where `type` = 3 and id = #{type}
+    </select>
 
 
 </mapper>

+ 2 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/IContractReturnedInfoService.java

@@ -38,4 +38,6 @@ public interface IContractReturnedInfoService extends BaseService<ContractReturn
     BigDecimal getYearReturned(int year);
 
     List<ContractReturnedInfo> getProjectReturnedByMonth(String date);
+
+    void deleteByContractId(Long id);
 }

+ 3 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/AnnualBudgetServiceImpl.java

@@ -184,6 +184,9 @@ public class AnnualBudgetServiceImpl extends BaseServiceImpl<AnnualBudgetMapper,
             if (incomeList != null && incomeList.size() >0){
                 for (AnnualBudgetIncomeVO vo : incomeList) {
                     if (vo.getReturnTime().getMonthValue() == i) {
+                        if (vo.getReturnMoney() == null){
+                            vo.setReturnMoney(new BigDecimal(0));
+                        }
                         incomeTotal = incomeTotal.add(vo.getReturnMoney());
                         list1.add(vo);
                     }

+ 19 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java

@@ -17,6 +17,7 @@ import org.springblade.control.service.IContractInfoService;
 import org.springblade.control.service.IContractReturnedInfoService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectProcessService;
+import org.springblade.control.vo.ContractReturnedInfoVO;
 import org.springblade.control.vo.ControlContractInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.EMInvoiceInfoVO;
@@ -32,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Param
@@ -95,8 +97,23 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
     @Override
     @Transactional
     public void deleteContractInfoById(Long id) {
-        //合同回款记录和合同开票记录一起删除
-        baseMapper.deleteById(id);
+        //如果已经有回款信息则不能删除
+        List<ContractReturnedInfoVO> list = returnedInfoService.getListByContractId(id);
+        if (list != null && list.size() > 0){
+            list = list.stream().filter(l -> {
+                if (l.getPracticalReturnedMoney() != null) {
+                    return true;
+                } else {
+                    return false;
+                }
+            }).collect(Collectors.toList());
+            if (list != null && list.size() >0){
+                throw new ServiceException("合同存在已回款信息,不能删除");
+            }
+        }
+        //合同回款记录一起删除
+        returnedInfoService.deleteByContractId(id);
+        baseMapper.realDeleteById(id);
     }
 
     /**

+ 5 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractReturnedInfoServiceImpl.java

@@ -116,4 +116,9 @@ public class ContractReturnedInfoServiceImpl extends BaseServiceImpl<ContractRet
     public List<ContractReturnedInfo> getProjectReturnedByMonth(String date) {
         return baseMapper.getProjectReturnedByMonth(date);
     }
+
+    @Override
+    public void deleteByContractId(Long contractId) {
+        baseMapper.deleteByContractId(contractId);
+    }
 }

+ 36 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectCostBudgetServiceImpl.java

@@ -21,6 +21,7 @@ import org.springblade.control.service.IProjectCostBudgetService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.vo.*;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -60,6 +61,15 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         //施工单位
         if (dto.getBuildUnit() != null && dto.getBuildUnit().size() > 0){
             dto.getBuildUnit().stream().forEach(l->{
+                if (l.getDeptId() == null){
+                    throw new ServiceException("请选择费用分摊部门");
+                }
+                if (l.getCostType() == null){
+                    throw new ServiceException("请选择费用分类");
+                }
+                if (l.getProjectProcess() == null){
+                    throw new ServiceException("请选择项目环节");
+                }
               l.setProjectId(dto.getProjectId());
               l.setUnitType(1);
               countMoney(l);
@@ -69,6 +79,15 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         //监理单位
         if (dto.getSupervisorUnit() != null && dto.getSupervisorUnit().size() > 0){
             dto.getSupervisorUnit().stream().forEach(l->{
+                if (l.getDeptId() == null){
+                    throw new ServiceException("请选择费用分摊部门");
+                }
+                if (l.getCostType() == null){
+                    throw new ServiceException("请选择费用分类");
+                }
+                if (l.getProjectProcess() == null){
+                    throw new ServiceException("请选择项目环节");
+                }
                 l.setProjectId(dto.getProjectId());
                 l.setUnitType(2);
                 countMoney(l);
@@ -78,6 +97,15 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         //建设单位
         if (dto.getConstructUnit() != null && dto.getConstructUnit().size() > 0){
             dto.getConstructUnit().stream().forEach(l->{
+                if (l.getDeptId() == null){
+                    throw new ServiceException("请选择费用分摊部门");
+                }
+                if (l.getCostType() == null){
+                    throw new ServiceException("请选择费用分类");
+                }
+                if (l.getProjectProcess() == null){
+                    throw new ServiceException("请选择项目环节");
+                }
                 l.setProjectId(dto.getProjectId());
                 l.setUnitType(3);
                 countMoney(l);
@@ -142,6 +170,13 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
         vo.setProjectId(id);
         //获取项目下所有已审批的计划
         List<ProjectCostBudgetVO2> list = baseMapper.getApprovePlan(id);
+        list.stream().forEach(l->{
+            if (l.getPlanTaskType() != null || l.getPlanTaskDesc() != null || l.getPlanDays() != null){
+                l.setIsShowChildren(0);
+            }else {
+                l.setIsShowChildren(1);
+            }
+        });
         //获取项目下所有的子计划
         List<ProjectCostBudgetVO2> childrenList = baseMapper.getAllChildrenPlan(id);
         if (childrenList != null && childrenList.size() >0) {
@@ -734,7 +769,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
     public void countMoney(ProjectCostBudget budget){
         BigDecimal postMoney;
         if (budget.getPostType() != null && budget.getPostType() > 0){
-            Integer money = baseMapper.getPostMoney(budget.getPostType());
+            Double money = baseMapper.getPostMoney(budget.getPostType());
             postMoney = new BigDecimal(money);
         }else {
             postMoney = new BigDecimal("0");