From 62b325883b98587ff7950d979ebd548d97a352f9 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 11 五月 2022 19:33:56 +0800
Subject: [PATCH] 哟花
---
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java | 104 +++++++++++++++++++++++++++++----------------------
1 files changed, 59 insertions(+), 45 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
index 5de6d60..fa57c9a 100755
--- a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
+++ b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
@@ -1,16 +1,15 @@
package com.java110.core.smo.impl;
+import com.java110.config.properties.code.Java110Properties;
+import com.java110.core.context.Environment;
+import com.java110.core.log.LoggerFactory;
import com.java110.core.smo.IComputeFeeSMO;
import com.java110.dto.RoomDto;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractRoom.ContractRoomDto;
-import com.java110.dto.fee.BillDto;
-import com.java110.dto.fee.BillOweFeeDto;
-import com.java110.dto.fee.FeeAttrDto;
-import com.java110.dto.fee.FeeConfigDto;
-import com.java110.dto.fee.FeeDto;
-import com.java110.dto.fee.TempCarFeeResult;
+import com.java110.dto.fee.*;
+import com.java110.dto.machine.CarInoutDetailDto;
import com.java110.dto.machine.CarInoutDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
@@ -18,12 +17,9 @@
import com.java110.dto.report.ReportCarDto;
import com.java110.dto.report.ReportFeeDto;
import com.java110.dto.report.ReportRoomDto;
-import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigAttrDto;
-import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
import com.java110.intf.community.ICommunityInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.IComputeTempCarFee;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.ITempCarFeeConfigAttrInnerServiceSMO;
import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
@@ -34,13 +30,11 @@
import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.ListenerExecuteException;
-import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -48,12 +42,7 @@
import javax.script.ScriptEngineManager;
import java.math.BigDecimal;
import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 璐圭敤璁$畻 鏈嶅姟绫�
@@ -97,6 +86,9 @@
@Autowired(required = false)
private ITempCarFeeConfigAttrInnerServiceSMO tempCarFeeConfigAttrInnerServiceSMOImpl;
+
+ @Autowired
+ private Java110Properties java110Properties;
@Override
public Date getFeeEndTime() {
@@ -318,6 +310,9 @@
feeReceiptDetailPo.setArea(sub.doubleValue() + "");
feeReceiptDetailPo.setSquarePrice(feeDto.getMwPrice() + "/" + feeDto.getAdditionalAmount());
}
+ } else if ("1101".equals(computingFormula)) { //绉熼噾
+ feeReceiptDetailPo.setArea(roomDtos.get(0).getBuiltUpArea());
+ feeReceiptDetailPo.setSquarePrice(roomDtos.get(0).getRoomRent());
} else {
}
} else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {//杞︿綅鐩稿叧
@@ -914,6 +909,9 @@
BigDecimal feePrice = new BigDecimal("0.0");
BigDecimal feeTotalPrice = new BigDecimal(0.0);
Map<String, Object> feeAmount = new HashMap<>();
+ if (Environment.isOwnerPhone(java110Properties)) {
+ return getOwnerPhoneFee(feeAmount);
+ }
if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeDto.getPayerObjType())) { //鎴垮眿鐩稿叧
String computingFormula = feeDto.getComputingFormula();
if (roomDto == null) {
@@ -1245,6 +1243,7 @@
throw new IllegalArgumentException("鏆備笉鏀寔璇ョ被鍏紡");
}
}
+
feePrice.setScale(3, BigDecimal.ROUND_HALF_EVEN).doubleValue();
feeAmount.put("feePrice", feePrice);
feeAmount.put("feeTotalPrice", feeTotalPrice);
@@ -1535,6 +1534,30 @@
return resMonth;
}
+
+ //鎵嬫満绔即璐瑰鐞�
+ public Map getOwnerPhoneFee(Map feeAmount) {
+ feeAmount.put("feePrice", new BigDecimal(1.00 / 100));
+ feeAmount.put("feeTotalPrice", new BigDecimal(1.00 / 100));
+ return feeAmount;
+ }
+
+
+ /**
+ * 銆�銆� *瀛楃涓茬殑鏃ユ湡鏍煎紡鐨勮绠�
+ */
+ public long daysBetween(Date smdate, Date bdate) {
+ long between_days = 0;
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(smdate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(bdate);
+ long time2 = cal.getTimeInMillis();
+ between_days = (time2 - time1) / (1000 * 3600 * 24);
+
+ return between_days;
+ }
+
@Override
public Date getTargetEndTime(double month, Date startDate) {
Calendar endDate = Calendar.getInstance();
@@ -1554,38 +1577,29 @@
@Override
- public void computeTempCarStopTimeAndFee(List<CarInoutDto> carInoutDtos) {
+ public List<CarInoutDto> computeTempCarStopTimeAndFee(List<CarInoutDto> carInoutDtos) {
if (carInoutDtos == null || carInoutDtos.size() < 1) {
- return;
+ return null;
}
-//璁$畻鍋滆溅鏃堕棿
- TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto();
- tempCarFeeConfigDto.setPaId(carInoutDtos.get(0).getPaId());
- tempCarFeeConfigDto.setCommunityId(carInoutDtos.get(0).getCommunityId());
- List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto);
- if (tempCarFeeConfigDtos == null || tempCarFeeConfigDtos.size() < 1) {
- return;
- }
- TempCarFeeConfigAttrDto tempCarFeeConfigAttrDto = new TempCarFeeConfigAttrDto();
- tempCarFeeConfigAttrDto.setConfigId(tempCarFeeConfigDto.getConfigId());
- tempCarFeeConfigAttrDto.setCommunityId(tempCarFeeConfigDto.getCommunityId());
+ carInoutDtos = tempCarFeeConfigInnerServiceSMOImpl.computeTempCarFee(carInoutDtos);
- List<TempCarFeeConfigAttrDto> tempCarFeeConfigAttrDtos = tempCarFeeConfigAttrInnerServiceSMOImpl.queryTempCarFeeConfigAttrs(tempCarFeeConfigAttrDto);
- long time = 0;
- for (CarInoutDto carInoutDto : carInoutDtos) {
- try {
- IComputeTempCarFee computeTempCarFee = ApplicationContextFactory.getBean(tempCarFeeConfigDtos.get(0).getRuleId(), IComputeTempCarFee.class);
- TempCarFeeResult result = computeTempCarFee.computeTempCarFee(carInoutDtos.get(0), tempCarFeeConfigDtos.get(0),tempCarFeeConfigAttrDtos);
- carInoutDto.setMin(result.getMin());
- carInoutDto.setHours(result.getHours());
- carInoutDto.setPayCharge(result.getPayCharge()+"");
- } catch (Exception e) {
- logger.error("涓存椂杞︾畻璐瑰け璐�", e);
- }
+ return carInoutDtos;
+
+ }
+
+ @Override
+ public List<CarInoutDetailDto> computeTempCarInoutDetailStopTimeAndFee(List<CarInoutDetailDto> carInoutDtos) {
+ if (carInoutDtos == null || carInoutDtos.size() < 1) {
+ return null;
}
+
+
+ carInoutDtos = tempCarFeeConfigInnerServiceSMOImpl.computeTempCarInoutDetailFee(carInoutDtos);
+
+ return carInoutDtos;
}
@@ -1593,10 +1607,10 @@
ComputeFeeSMOImpl computeFeeSMO = new ComputeFeeSMOImpl();
try {
double month = computeFeeSMO.dayCompare(
- DateUtil.getDateFromString("2021-6-1 00:00:00", DateUtil.DATE_FORMATE_STRING_A),
- DateUtil.getDateFromString("2021-8-5 18:00:00", DateUtil.DATE_FORMATE_STRING_A)
+ DateUtil.getDateFromString("2021-09-30 14:20:02", DateUtil.DATE_FORMATE_STRING_A),
+ DateUtil.getDateFromString("2021-11-03 14:20:02", DateUtil.DATE_FORMATE_STRING_A)
);
- System.out.println(month);
+ System.out.println(Math.ceil(month));
} catch (ParseException e) {
e.printStackTrace();
}
--
Gitblit v1.8.0