From 150e06899ba927d08fdca7f5895b9877bcfda3ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 十二月 2024 15:47:19 +0800 Subject: [PATCH] 开发更新 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 44 ++++++++++++++++++++++++++------------------ 1 files changed, 26 insertions(+), 18 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 6e2d2d4..1ba30b7 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 @@ -31,6 +31,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -268,7 +269,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ - model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); + model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); } @@ -698,12 +699,16 @@ } int num =1; for(int i=0;i<billList1.size();i++){ - billList1.get(i).setSortnum(num); - num++; + if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ZERO)){ + billList1.get(i).setSortnum(num); + num++; + } } for(int i=0;i<billList2.size();i++){ - billList2.get(i).setSortnum(num); - num++; + if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ONE)) { + billList2.get(i).setSortnum(num); + num++; + } } if(model.getId()!=null){ ywContractBillMapper.insert(billList1); @@ -849,34 +854,37 @@ BigDecimal totalFee = new BigDecimal(0); DateCompare dateCompare = DateCompare.dayCompare(bill.getStartDate(),bill.getEndDate(),freeStart, freeEnd); if(Constants.equalsInteger(d.getCircleType(),Constants.ZERO)){ - //0=鍏冩瘡骞崇背澶� + //0=鍏冩瘡骞崇背澶� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环锛� int days = dateCompare.getDay() ; BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); totalFee = new BigDecimal(days).multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.ONE)){ - //1=鍏冩瘡骞崇背鏈� + //1=鍏冩瘡骞崇背鏈� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*绉熻祦闈㈢Н*鍗曚环+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环*12/365锛� BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); BigDecimal month =dateCompare.getMonthFloat(); totalFee = month.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.TWO)){ - //2=鍏冩瘡骞崇背骞� + //2=鍏冩瘡骞崇背骞� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环*闈㈢Н/12+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环/365锛� BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); - BigDecimal year = dateCompare.getYearFloat(); - totalFee = year.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� + BigDecimal month = new BigDecimal(dateCompare.getMonth()); + totalFee = ((month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) + .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP))) + .multiply(areas);//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.THREE)){ - //3=鍏冩瘡澶� + //3=鍏冩瘡澶� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勫ぉ鏁�*鍗曚环锛� int days = dateCompare.getDay() ; totalFee = new BigDecimal(days).multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.FOUR)){ - //4=鍏冩瘡鏈� + //4=鍏冩瘡鏈� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环+涓嶆弧涓�涓湀鐨勫ぉ鏁�*鍗曚环*12/365 BigDecimal month = dateCompare.getMonthFloat(); totalFee = month.multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.FIVE)){ - //5=鍏冩瘡骞� - BigDecimal year = dateCompare.getYearFloat(); - totalFee = year.multiply(Constants.formatBigdecimal(d.getPrice()));//鎬讳环鏍� + //5=鍏冩瘡骞� 璐﹀崟閲戦=璐﹀崟鍛ㄦ湡鐨勬湀鏁帮紙寮�濮嬫棩鏈熻绠楄嚜鐒舵湀锛�*鍗曚环*闈㈢Н/12+涓嶆弧涓�涓湀鐨勫ぉ鏁�*绉熻祦闈㈢Н*鍗曚环/365锛� + BigDecimal month = new BigDecimal(dateCompare.getMonth()); + totalFee =( month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) + .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP));//鎬讳环鏍� }else if(Constants.equalsInteger(d.getCircleType(),Constants.SIX)){ - //6=鍏冩瘡鍦� + //6=鍏冩瘡鍦� 璐﹀崟閲戦=鍗曚环锛涘彧鏈夐�夋嫨涓�娆℃�т粯娆炬椂锛屾墠鑳介�夋嫨璇ュ崟浠风淮搴︼紱 totalFee =Constants.formatBigdecimal(d.getPrice()); } if(Constants.equalsInteger(model.getRoundedUp(),Constants.ONE)){ @@ -947,7 +955,7 @@ BigDecimal data= new BigDecimal(0); if(roomList!=null){ for(YwRoom r :roomList){ - data = data.add(Constants.formatBigdecimal(r.getArea())); + data = data.add(Constants.formatBigdecimal(r.getRentArea())); } } @@ -1141,7 +1149,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ - model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); + model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); YwCustomer customer = customerMapper.selectById(model.getRenterId()); -- Gitblit v1.9.3