From 2b51dbc3331aa295a72b7c4dd7bdb37b0b636b6a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 08 四月 2021 23:30:26 +0800
Subject: [PATCH] 优化缴费
---
service-job/src/main/java/com/java110/job/task/fee/GenerateBillTemplate.java | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/task/fee/GenerateBillTemplate.java b/service-job/src/main/java/com/java110/job/task/fee/GenerateBillTemplate.java
index 5833962..a25adc3 100644
--- a/service-job/src/main/java/com/java110/job/task/fee/GenerateBillTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/fee/GenerateBillTemplate.java
@@ -1,13 +1,6 @@
package com.java110.job.task.fee;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.core.smo.community.IParkingSpaceInnerServiceSMO;
-import com.java110.core.smo.community.IRoomInnerServiceSMO;
-import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
-import com.java110.core.smo.fee.IFeeDetailInnerServiceSMO;
-import com.java110.core.smo.fee.IFeeInnerServiceSMO;
-import com.java110.core.smo.user.IOwnerCarInnerServiceSMO;
-import com.java110.core.smo.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.dto.RoomDto;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.fee.*;
@@ -15,6 +8,13 @@
import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.dto.parking.ParkingSpaceDto;
import com.java110.dto.task.TaskDto;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.TaskTemplateException;
@@ -208,9 +208,9 @@
return;
}
- if ("3333".equals(feeDto.getPayerObjType())) {
+ if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeDto.getPayerObjType())) {
computeFeePriceByRoom(feeDto);
- } else if ("6666".equals(feeDto.getPayerObjType())) {
+ } else if (FeeDto.PAYER_OBJ_TYPE_PARKING_SPACE.equals(feeDto.getPayerObjType())) {
computeFeePriceByParkingSpace(feeDto);
} else {
return;//杩欎釜娌℃湁娆犺垂鍙畻
@@ -225,8 +225,12 @@
billOweFeeDto.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
billOweFeeDto.setFeeId(feeDto.getFeeId());
billOweFeeDto.setBillId(billDto.getBillId());
-
- double month = monthCompare(startTime, billEndTime);
+ double month = 0.0;
+ if (TASK_ATTR_VALUE_DAY.equals(feeConfigDto.getBillType())) {
+ month = dayCompare(feeDto.getEndTime(), billEndTime);
+ } else {
+ month = monthCompare(feeDto.getEndTime(), billEndTime);
+ }
BigDecimal curFeePrice = new BigDecimal(feeDto.getFeePrice());
curFeePrice = curFeePrice.multiply(new BigDecimal(month));
billOweFeeDto.setAmountOwed(curFeePrice.doubleValue() + "");
@@ -237,6 +241,7 @@
}
BigDecimal feePrice = new BigDecimal(feeDto.getFeePrice());
feePrice = feePrice.multiply(new BigDecimal(month));
+
billOweFeeDto.setBillAmountOwed(feePrice.doubleValue() + "");
billOweFeeDto.setFeeEndTime(DateUtil.getFormatTimeString(feeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
billOweFeeDto.setCommunityId(feeDto.getCommunityId());
@@ -251,7 +256,7 @@
feeInnerServiceSMOImpl.insertBillOweFees(billOweFeeDto);
- double recFee = StringUtil.isEmpty(billDto.getReceipts()) ? 0.0 : Double.parseDouble(billDto.getReceipts());
+ double recFee = StringUtil.isEmpty(billDto.getReceivable()) ? 0.0 : Double.parseDouble(billDto.getReceivable());
BigDecimal recFeeBig = new BigDecimal(recFee);
BigDecimal newRecFee = recFeeBig.add(feePrice);
@@ -354,8 +359,13 @@
RoomDto tmpRoomDto = roomDtos.get(0);
- billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getUnitNum() + "鍗曞厓" + tmpRoomDto.getRoomNum() + "瀹�");
+ //billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getUnitNum() + "鍗曞厓" + tmpRoomDto.getRoomNum() + "瀹�");
+ if (RoomDto.ROOM_TYPE_ROOM.equals(tmpRoomDto.getRoomType())) {
+ billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getUnitNum() + "鍗曞厓" + tmpRoomDto.getRoomNum() + "瀹�");
+ } else {
+ billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getRoomNum() + "瀹�");
+ }
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
ownerRoomRelDto.setByOwnerInfo(true);
ownerRoomRelDto.setRoomId(tmpRoomDto.getRoomId());
@@ -514,7 +524,7 @@
long t1 = from.getTimeInMillis();
long t2 = to.getTimeInMillis();
- long days = (t2 - t1) / (24 * 60 * 60 * 1000);
+ double days = (t2 - t1) * 1.00 / (24 * 60 * 60 * 1000);
BigDecimal tmpDays = new BigDecimal(days);
BigDecimal monthDay = new BigDecimal(30);
--
Gitblit v1.8.0