From 4e7907983a99e695f2acba4dec8bd73b7dbe6b2b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 29 六月 2023 14:41:33 +0800
Subject: [PATCH] optimize

---
 java110-core/src/main/java/com/java110/core/smo/IComputeFeeSMO.java |  108 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 1 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/smo/IComputeFeeSMO.java b/java110-core/src/main/java/com/java110/core/smo/IComputeFeeSMO.java
old mode 100644
new mode 100755
index 42ca766..2c9fd5c
--- a/java110-core/src/main/java/com/java110/core/smo/IComputeFeeSMO.java
+++ b/java110-core/src/main/java/com/java110/core/smo/IComputeFeeSMO.java
@@ -1,8 +1,20 @@
 package com.java110.core.smo;
 
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.integral.IntegralRuleConfigDto;
+import com.java110.dto.machine.CarInoutDetailDto;
+import com.java110.dto.machine.CarInoutDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.report.ReportCarDto;
+import com.java110.dto.report.ReportFeeDto;
+import com.java110.dto.report.ReportRoomDto;
+import com.java110.po.fee.FeeReceiptDetailPo;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,7 +35,30 @@
     Date getFeeEndTime();
 
     /**
+     * 鑾峰彇 deadlineTime
+     * @param feeDto
+     * @return
+     */
+    Date getDeadlineTime(FeeDto feeDto);
+
+    /**
+     * 璁$畻娆犺垂閲戦
+     *
+     * @param tmpFeeDto
+     */
+    public void computeOweFee(FeeDto tmpFeeDto);
+
+    /**
+     * 鍒锋柊
+     *
+     * @param feeDto
+     * @param feeReceiptDetailPo
+     */
+    void freshFeeReceiptDetail(FeeDto feeDto, FeeReceiptDetailPo feeReceiptDetailPo);
+
+    /**
      * 鏍规嵁鍛ㄦ湡 璁$畻璐圭敤鐘舵��
+     *
      * @param feeDto
      * @param cycles
      * @return
@@ -32,12 +67,30 @@
 
     /**
      * 鏌ヨ璐圭敤瀵硅薄鍚嶇О
+     *
      * @param feeDto
      * @return
      */
     public String getFeeObjName(FeeDto feeDto);
+
+    /**
+     * 鏌ヨ璐圭敤鐨勪笟涓讳俊鎭�
+     *
+     * @param feeDto
+     * @return
+     */
+    public OwnerDto getFeeOwnerDto(FeeDto feeDto);
+
+    /**
+     * 鍒峰叆 浠樿垂鏂瑰悕绉�
+     *
+     * @param feeDtos
+     */
+    public void freshFeeObjName(List<FeeDto> feeDtos);
+
     /**
      * 鏍规嵁缂磋垂鍛ㄦ湡璁$畻 缁撴潫鏃堕棿
+     *
      * @param feeDto
      * @param cycles 缂磋垂鍛ㄦ湡
      * @return
@@ -62,6 +115,8 @@
      */
     double getCycle();
 
+    public Map getTargetEndDateAndOweMonth(FeeDto feeDto, OwnerCarDto ownerCarDto);
+
     /**
      * 鑾峰彇鐩爣缁撴潫鏃堕棿鍜屾瑺璐规湀浠�
      *
@@ -79,7 +134,10 @@
      *
      * @return
      */
-    double getFeePrice(FeeDto feeDto);
+    public Map getFeePrice(FeeDto feeDto);
+
+
+    public Map getFeePrice(FeeDto feeDto, RoomDto roomDto);
 
     /**
      * 鏃堕棿宸� 鎸夊ぉ鎶樼畻
@@ -90,4 +148,52 @@
      */
     double dayCompare(Date fromDate, Date toDate);
 
+    /**
+     銆�銆� *瀛楃涓茬殑鏃ユ湡鏍煎紡鐨勮绠�
+     銆�銆� */
+    long daysBetween(Date smdate,Date bdate) ;
+
+    double getReportFeePrice(ReportFeeDto tmpReportFeeDto, ReportRoomDto reportRoomDto, ReportCarDto reportCarDto);
+
+    void computeEveryOweFee(FeeDto tmpFeeDto);
+
+    void computeEveryOweFee(FeeDto tmpFeeDto, RoomDto roomDto);
+
+    /**
+     * 璁$畻鍋滆溅鏃堕棿鍜岃垂鐢�
+     *
+     * @param carInoutDtos
+     */
+    List<CarInoutDto> computeTempCarStopTimeAndFee(List<CarInoutDto> carInoutDtos);
+
+    /**
+     * 璁$畻鍋滆溅鏃堕棿鍜岃垂鐢�
+     *
+     * @param carInoutDtos
+     */
+    List<CarInoutDetailDto> computeTempCarInoutDetailStopTimeAndFee(List<CarInoutDetailDto> carInoutDtos);
+
+    /**
+     * 绉熼噾澶勭悊
+     *
+     * @param feeDto
+     */
+    void dealRentRate(FeeDto feeDto);
+
+    /**
+     * 绉熼噾澶勭悊
+     *
+     * @param feeDto
+     */
+    void dealRentRateCycle(FeeDto feeDto,double cycle);
+
+
+    /**
+     * 绉熼噾澶勭悊
+     * @param feeDto
+     * @param custEndTime
+     */
+    void dealRentRateCustEndTime(FeeDto feeDto, Date custEndTime);
+
+    long computeOneIntegralQuantity(IntegralRuleConfigDto integralRuleConfigDto, JSONObject reqJson);
 }

--
Gitblit v1.8.0