From 9328e1b87ef53c7210a7d8342d8af8800c91809e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 27 十一月 2024 10:52:00 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java |   73 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 26 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
index 7a3838f..7521794 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -87,6 +87,7 @@
     }
     @Override
     public   List<YwContractBill> getBillList(YwContract model){
+
         isParamValidForBill(model);
         model.setCreateDate(new Date());
         model.setEditDate(model.getCreateDate());
@@ -120,6 +121,8 @@
                     ||model.getZlDetailList().size() ==0){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜椤甸潰瑕佹眰濉啓绉熻祦鏉℃淇℃伅");
             }
+            model.setType(Constants.TWO);
+            model.setWyDetailList(null);
             if(!(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()==null) && (
                     (model.getZlFreeEndDate()!=null &&  model.getZlFreeStartDate()==null)
                             ||(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()!=null)
@@ -158,6 +161,8 @@
             ){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜椤甸潰瑕佹眰濉啓鐗╀笟鏉℃淇℃伅");
             }
+            model.setType(Constants.ONE);
+            model.setZlDetailList(null);
             if(!(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()==null) && (
                     (model.getWyFreeEndDate()!=null &&  model.getWyFreeStartDate()==null)
                             ||(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()!=null)
@@ -184,7 +189,7 @@
             }
         }
 
-        YwProject project = projectMapper.selectById(model.getCompanyId());
+        YwProject project = projectMapper.selectById(model.getProjectId());
         if(project ==null || Constants.equalsInteger(project.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勯」鐩俊鎭紒");
         }
@@ -202,13 +207,12 @@
         for(YwRoom r : rooms){
             model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
         }
+        model.setRoomList(rooms);
     }
 
     private String getRemarlByParam(YwContract model) {
 
         String str = "";
-        YwContractDetail zl = model.getZlDetailList()!=null&&model.getZlDetailList().size()>0?model.getZlDetailList().get(0):null;
-        YwContractDetail yw = model.getWyDetailList()!=null&&model.getWyDetailList().size()>0?model.getWyDetailList().get(0):null;
         //璧风鏃�2024/06/01锛岀璧佹暟涓�500銕°�傞鏈熺璧佷笁鏈堜竴浠橈紝绉熼噾鍗曚环35鍏�/銕÷锋湀銆傞鏈熺墿涓氫笁鏈堜竴浠橈紝鐗╀笟鍗曚环4.3鍏�/銕÷锋湀
         String str0 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}鍏儃param5}銆傞鏈熺墿涓歿param6}锛岀墿涓氬崟浠穥param7}{param8}";
         String str1 = "鍚堝悓鎽樿锛氳捣绉熸棩{param1}锛岀璧佹暟涓簕param2}銕°�傞鏈熺璧亄param3}锛岀閲戝崟浠穥param4}鍏儃param5}銆�";
@@ -216,20 +220,20 @@
         if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
             str= str0;
         }
-        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
+        if(Constants.equalsInteger(model.getType(),Constants.TWO)){
             str= str1;
         }
-        if(Constants.equalsInteger(model.getType(),Constants.TWO)){
+        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
             str= str2;
         }
         str = str.replace("{param1}",DateUtil.getDateLongSlash(model.getStartDate()))
                 .replace("{param2}",model.getTotalArea().intValue()+"")
                 .replace("{param3}",Constants.getPayTypeByNum(model.getZlPayType()))
-                .replace("{param4}",zl!=null&&zl.getPrice()!=null?(zl.getPrice().intValue()+""):"0")
-                .replace("{param5}",Constants.getPayTypeByNum(model.getWyPayType()))
-                .replace("{param6}",Constants.getUnitTypeByNum(zl!=null?zl.getCircleType():null))
-                .replace("{param7}",zl!=null&&yw.getPrice()!=null?(zl.getPrice().intValue()+""):"0")
-                .replace("{param8}",Constants.getUnitTypeByNum(yw!=null?yw.getCircleType():null));
+                .replace("{param4}",Constants.formatBigdecimal(model.getZlFirstPrice()).intValue()+"")
+                .replace("{param5}",Constants.getUnitTypeByNum(model.getZlFirstCircle())
+                .replace("{param6}",Constants.getPayTypeByNum(model.getWyPayType()))
+                .replace("{param7}",Constants.formatBigdecimal(model.getWyFirstPrice()).intValue()+"")
+                .replace("{param8}",Constants.getUnitTypeByNum(model.getWyFirstCircle())));
         return  str;
     }
     private String getbackRentRemarkByParam(YwContract model) {
@@ -458,7 +462,7 @@
         List<YwContractDetail> details = new ArrayList<>();
         int num = 0;
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.ONE)){
+                || Constants.equalsInteger(model.getType(),Constants.TWO)){
             for(YwContractDetail d :model.getZlDetailList()){
                d.setCreateDate(model.getEditDate());
                d.setCreator(model.getEditor());
@@ -472,7 +476,7 @@
         }
         num = 0;
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.TWO)){
+                || Constants.equalsInteger(model.getType(),Constants.ONE)){
             for(YwContractDetail d :model.getWyDetailList()){
                 d.setCreateDate(model.getEditDate());
                 d.setCreator(model.getEditor());
@@ -500,7 +504,7 @@
         List<YwContractBill> billList1 = new ArrayList<>();
         List<YwContractBill> billList2 = new ArrayList<>();
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.ONE)){
+                || Constants.equalsInteger(model.getType(),Constants.TWO)){
             //濡傛灉鏈夌璧佹潯娆�
             if(Constants.formatBigdecimal(model.getZlDeposit()).compareTo(new BigDecimal(0))>0){
                     //濡傛灉鏈夌璧佹娂閲�
@@ -521,7 +525,7 @@
             }
         }
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.TWO)){
+                || Constants.equalsInteger(model.getType(),Constants.ONE)){
             //濡傛灉鐗╀笟鏉℃
             if(Constants.formatBigdecimal(model.getWyDeposit()).compareTo(new BigDecimal(0))>0){
                 //濡傛灉鏈夌璧佹娂閲�
@@ -547,13 +551,19 @@
         }else  if(model.getBillType() == 0){
             model.setBillList(billList2);
         }
+        int num =1;
+        for(int i=0;i<billList1.size();i++){
+            if(Constants.equalsInteger( billList1.get(i).getCostType(),Constants.ZERO)){
+                billList1.get(i).setSortnum(num++);
+            }
+        }
+          num =1;
+        for(int i=0;i<billList2.size();i++){
+            if(Constants.equalsInteger( billList2.get(i).getCostType(),Constants.ONE)){
+                billList2.get(i).setSortnum(num++);
+            }
+        }
         if(model.getId()!=null){
-            for(int i=0;i<billList1.size();i++){
-                billList1.get(i).setSortnum(i+1);
-            }
-            for(int i=0;i<billList2.size();i++){
-                billList2.get(i).setSortnum(i+1);
-            }
             ywContractBillMapper.insert(billList1);
             ywContractBillMapper.insert(billList2);
         }
@@ -573,6 +583,8 @@
         bill.setType(Constants.ZERO);
         bill.setCostType(type);
         bill.setTotleFee(type==Constants.THREE?model.getZlDeposit():model.getWyDeposit());//鎶奸噾璐圭敤
+        bill.setReceivableFee(bill.getTotleFee());
+        bill.setBillType(Constants.ZERO);
         bill.setSortnum(0);
         return bill;
     }
@@ -678,6 +690,8 @@
             bill.setPlanPayDate(DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
             BigDecimal totalFee =getTotalFeeByStartEnd(model,d,freeStart,freeEnd);
             bill.setTotleFee(totalFee);
+            bill.setReceivableFee(totalFee);
+            bill.setBillType(Constants.ZERO);
 
             list.add(bill);
         }
@@ -759,6 +773,8 @@
             bill.setEndDate(d.getEndDate());//璐﹀崟缁撴潫
             bill.setPlanPayDate(DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
             bill.setTotleFee(getTotalFeeByStartEnd(model,d,freeStart,freeEnd));
+            bill.setReceivableFee(bill.getTotleFee());
+            bill.setBillType(Constants.ZERO);
             list.add(bill);
         }
         return list;
@@ -774,6 +790,7 @@
         bill.setIsdeleted(Constants.ZERO);
         bill.setContractId(model.getId());
         bill.setStatus(Constants.ZERO);
+        bill.setPayStatus(Constants.ZERO);
         bill.setDetailId(d.getId());
         bill.setCostType(d.getType());
         bill.setType(Constants.ZERO);
@@ -783,9 +800,12 @@
 
     private BigDecimal getAreasNumBYRooms(List<YwRoom> roomList) {
         BigDecimal data= new BigDecimal(0);
-        for(YwRoom r :roomList){
-            data = data.add(Constants.formatBigdecimal(r.getArea()));
+        if(roomList!=null){
+            for(YwRoom r :roomList){
+                data = data.add(Constants.formatBigdecimal(r.getArea()));
+            }
         }
+
         return  data;
     }
 
@@ -859,7 +879,7 @@
         }
 
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.ONE)){
+                || Constants.equalsInteger(model.getType(),Constants.TWO)){
             if(  model.getZlDeposit() == null
                     ||model.getZlPayType() == null
                     || model.getZlPayType()>3
@@ -899,7 +919,7 @@
             }
         }
         if(Constants.equalsInteger(model.getType(),Constants.ZERO )
-                || Constants.equalsInteger(model.getType(),Constants.TWO)){
+                || Constants.equalsInteger(model.getType(),Constants.ONE)){
             if(  model.getWyDeposit() == null
                     ||model.getWyPayType() == null
                     || model.getWyPayType()>3
@@ -917,7 +937,7 @@
             }
             for(YwContractDetail d :model.getWyDetailList()){
                 if(  d.getStartDate() == null
-                        ||d.getEditDate() == null
+                        ||d.getEndDate() == null
                         ||d.getPrice() == null
                         ||d.getCircleType() == null
                         || d.getCircleType()>6
@@ -940,7 +960,7 @@
             }
         }
 
-        YwProject project = projectMapper.selectById(model.getCompanyId());
+        YwProject project = projectMapper.selectById(model.getProjectId());
         if(project ==null || Constants.equalsInteger(project.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勯」鐩俊鎭紒");
         }
@@ -958,6 +978,7 @@
         for(YwRoom r : rooms){
             model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
         }
+        model.setRoomList(rooms);
         YwCustomer customer = customerMapper.selectById(model.getRenterId());
         if(customer ==null || Constants.equalsInteger(customer.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝閫夋嫨绉熷淇℃伅涓嶅瓨鍦紝璇疯繑鍥炲埛鏂伴噸璇曪紒");

--
Gitblit v1.9.3