Browse Source

fix:服务月数和项目名称列,自动带过来上次填写

ly 10 months ago
parent
commit
220a04275f

+ 12 - 4
src/main/java/cn/ezhizao/project/business/collection/controller/BizCollectionController.java

@@ -9,6 +9,7 @@ import cn.ezhizao.framework.aspectj.lang.annotation.Log;
 import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
+import cn.ezhizao.framework.web.domain.BaseEntity;
 import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.account.domain.BizAccount;
 import cn.ezhizao.project.business.account.service.IBizAccountService;
@@ -53,11 +54,9 @@ import java.io.BufferedInputStream;
 import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 import static cn.ezhizao.common.utils.PageUtils.custStartPage;
 
@@ -274,6 +273,15 @@ public class BizCollectionController extends BaseController {
         // 获取已收款合同
 
         List<BizCollection> collected = collectionService.query().eq("contract_id", conditions.getId()).eq("status", 1).list();
+
+        if(!collected.isEmpty()){
+            List<BizCollection> collectionSortList = collected.stream().sorted(Comparator.comparing(BaseEntity::getCreateTime).reversed()).collect(Collectors.toList());
+            BizCollection oldCollection = collectionSortList.get(0);
+            bizCollection.setProjectName(oldCollection.getProjectName());
+            bizCollection.setIsProject(oldCollection.getIsProject());
+            bizCollection.setProjectNo(oldCollection.getProjectNo());
+            bizCollection.setProjectMainName(oldCollection.getProjectMainName());
+        }
         BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
 
         SysUser user = SecurityUtils.getLoginUser().getUser();

+ 10 - 1
src/main/resources/mybatis/business/BizCollectionMapper.xml

@@ -37,12 +37,17 @@
         tt1.actually_date,
         tt2.zhichu as outAmount,
         tt1.input_start_month as inputStartMonth,
-        tt1.input_end_month as inputEndMonth
+        tt1.input_end_month as inputEndMonth,
+        tt1.service_num + tt1.free_num            as serviceNum,
+        tt1.projectName                          as projectName
         FROM
         (
         SELECT
         inputdetail.input_start_month,
         inputdetail.input_end_month,
+        inputdetail.free_num,
+        inputdetail.service_num,
+        GROUP_CONCAT(DISTINCT c.project_name) as projectName,
         c.company_id,
         GROUP_CONCAT( DISTINCT date_format( c.actually_date, '%Y-%m-%d' )) AS actually_date,
         com.NAME,
@@ -54,6 +59,7 @@
         GROUP_CONCAT( DISTINCT arrive_date ) AS daozhangriqi,
         SUM( detail.arrive_amount ) AS tishoukuanjine,
         GROUP_CONCAT( DISTINCT u.nick_name ) AS shenqingren,
+        GROUP_CONCAT( DISTINCT c.project_name ) AS project_name,
         CASE
         WHEN input.contract_type = 1 THEN
         "续签" ELSE "新签"
@@ -87,6 +93,9 @@
         <if test="conditions.companyName != null and conditions.companyName != ''">
             AND com.NAME LIKE CONCAT('%',#{conditions.companyName},'%')
         </if>
+        <if test="conditions.projectName != null and conditions.projectName != ''">
+            AND c.project_name LIKE CONCAT('%',#{conditions.projectName},'%')
+        </if>
         <if test="conditions.examineName != null and conditions.examineName != ''">
             AND u2.nick_name LIKE CONCAT('%',#{conditions.examineName},'%')
         </if>