Browse Source

Merge branch 'test'

LAPTOP-FO2T5SIU\35838 4 months ago
parent
commit
3b0aca2871

+ 8 - 0
pro-base/src/main/java/com/idea/buildManage/dto/ProjectHouseAllVo.java

@@ -1,7 +1,9 @@
 package com.idea.buildManage.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.idea.buildManage.model.ParkRoom;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -19,6 +21,8 @@ public class ProjectHouseAllVo extends ParkRoom {
      */
     private String areaStatus;
 
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date roomSelectionDate;
 
     private String batchNumber;
@@ -29,6 +33,8 @@ public class ProjectHouseAllVo extends ParkRoom {
 
     private String contractNumber;
 
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date signingDate;
 
     private String buyerName;
@@ -65,6 +71,8 @@ public class ProjectHouseAllVo extends ParkRoom {
     /**
      * 入住时间
      */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date checkInDate;
 
     private String contractId;

+ 10 - 0
pro-base/src/main/java/com/idea/buildManage/service/ParkRoomService.java

@@ -762,6 +762,10 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
         contractManageDto.setPayType("1");
         List<ContractManageDto> contractManages = payLogExtendMapper.listByModel(contractManageDto);
         Map<String, ContractManageDto> contractManageMap = contractManages.stream().collect(Collectors.toMap(ContractManageDto::getId, item -> item, (existing, replacement) -> existing));
+        // 选房信息
+        List<CustomerManagement> customerManagements = customerManagementMapper.selectByExample(new CustomerManagementExample());
+        Map<String, CustomerManagement> customerManagementMap = customerManagements.stream().collect(Collectors.toMap(CustomerManagement::getId, item -> item, (existing, replacement) -> existing));
+
 
         List<ProjectHouseAllVo> projectHouseAllVos = extendMapper.projectHouseAllVoList(model);
         for(ProjectHouseAllVo houseAllVo: projectHouseAllVos){
@@ -785,6 +789,12 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
                 ContractManageDto contractManage = contractManageMap.get(houseAllVo.getContractId());
                 houseAllVo.setReceivedMoney(contractManage.getReceivedMoney());
             }
+            if(customerManagementMap.containsKey(houseAllVo.getCustomerManagementId())){
+                CustomerManagement customerManagement = customerManagementMap.get(houseAllVo.getCustomerManagementId());
+                houseAllVo.setRoomSelectionDate(customerManagement.getRoomSelectionDate());
+                houseAllVo.setBatchNumber(customerManagement.getBatchNumber());
+                houseAllVo.setRoomSelectionNumber(customerManagement.getRoomSelectionNumber());
+            }
         }
         return projectHouseAllVos;
     }

+ 6 - 0
pro-base/src/main/java/com/idea/customerManagement/mapper/CustomerManagementExtendMapper.java

@@ -23,4 +23,10 @@ public interface CustomerManagementExtendMapper {
 
     List<CustomerManagement> needGenerateBuyerList();
 
+    Integer getContractCountByDiscIdAndStatus(@Param("discId") String discId,
+                                              @Param("status") String status,
+                                              @Param("collectionStatus") String collectionStatus);
+
+    Integer getCheckInCountByDiscId(@Param("discId") String discId);
+
 }

+ 14 - 0
pro-base/src/main/java/com/idea/customerManagement/service/CustomerManagementService.java

@@ -1051,6 +1051,20 @@ public class CustomerManagementService implements BaseService<CustomerManagement
     public PageInfo<CustomerManagementDto> reportList(Tablepar tablepar, CustomerManagementDto model, DateTrans dt) {
         PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
         List<CustomerManagementDto> list = extendMapper.reportList(model);
+        for(CustomerManagementDto customerManagementDto : list){
+            // 待签约合同数量
+            Integer waitSigningCount = extendMapper.getContractCountByDiscIdAndStatus(customerManagementDto.getDiscId(), "1",null);
+            // 已签约合同数量
+            Integer signingCount = extendMapper.getContractCountByDiscIdAndStatus(customerManagementDto.getDiscId(), "2", null);
+            // 完全收款合同数量
+            Integer settledCount = extendMapper.getContractCountByDiscIdAndStatus(customerManagementDto.getDiscId(), null, "2");
+            // 已入户数量
+            Integer checkInCountByDiscId = extendMapper.getCheckInCountByDiscId(customerManagementDto.getDiscId());
+            customerManagementDto.setWaitSigningCount(waitSigningCount);
+            customerManagementDto.setSigningCount(signingCount);
+            customerManagementDto.setSettledCount(settledCount);
+            customerManagementDto.setEnteredCount(checkInCountByDiscId);
+        }
         PageInfo<CustomerManagementDto> pageInfo = new PageInfo<>(list);
         return pageInfo;
     }

+ 1 - 1
pro-base/src/main/resources/mybatis/buildManage/ParkRoomExtendMapper.xml

@@ -150,7 +150,7 @@
 
   <select id="reportList" resultType="com.idea.buildManage.response.ParkRoomResponse">
     select r.*, p.group_name  groupName ,d.name discName,b.build_num buildName,
-           (select count(1) from room_selection_info where house_id = r.id and status != 1) transactionCount
+           (select count(1) from room_selection_info where house_id = r.id) transactionCount
     from park_room r
     left join park_info p on p.id = r.group_id
     left join park_floor_disc d on d.id = r.disc_id

+ 26 - 7
pro-base/src/main/resources/mybatis/customerManagement/CustomerManagementExtendMapper.xml

@@ -85,13 +85,7 @@
     <select id="reportList" resultType="com.idea.customerManagement.dto.CustomerManagementDto">
       select p.group_name,p.group_id,f.id discId, f.name disc_name,
              (select count(1) from mnp_building where disc_id = f.id) buildCount,
-             (select count(1) from park_room where disc_id = f.id) roomCount,
-             (select count(1) from customer_management where disc_id = f.id and status = 2 ) waitSigningCount,
-             (select count(1) from customer_management where disc_id = f.id and status = 3 ) signingCount,
-             (select count(1) from customer_management where disc_id = f.id and status = 4 ) enteredCount,
-             (select count(1) from contract_manage where collection_status = 2 and house_id in (
-                 select id from park_room where disc_id = f.id
-               ) ) settledCount
+             (select count(1) from park_room where disc_id = f.id) roomCount
       from park_floor_disc f
       left join park_info p on p.id = f.group_id
       left join park_room r on r.disc_id = f.id
@@ -114,4 +108,29 @@
       select customer_management_id from buyer
     )
   </select>
+
+  <select id="getContractCountByDiscIdAndStatus" resultType="java.lang.Integer">
+    select ifnull(count(1),0) from contract_manage
+    <where>
+      and house_id in (
+      select id from park_room where disc_id = #{discId}
+      )
+      <if test="status != null and status != '' ">
+        and contract_status = #{status}
+      </if>
+      <if test="collectionStatus != null and collectionStatus != '' ">
+        and collection_status = #{collectionStatus}
+      </if>
+    </where>
+  </select>
+
+  <select id="getCheckInCountByDiscId" resultType="java.lang.Integer">
+    select ifnull(count(1),0) from check_in where contract_manage_id in (
+        select id from contract_manage where house_id in (
+          select id from park_room where disc_id = #{discId}
+        )
+      ) and status = '1'
+  </select>
+
+
 </mapper>