From 09095d67f2e2acf45dcd55155da491e44206db4e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 05 四月 2024 15:38:14 +0800
Subject: [PATCH] 修改时间 将时间修改 未23:59:59秒

---
 service-fee/src/main/java/com/java110/fee/cmd/fee/SaveContractCreateFeeCmd.java                  |   25 ++--
 springboot/src/main/java/com/java110/boot/smo/assetExport/impl/ExportRoomSMOImpl.java            |    2 
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java            |    2 
 service-fee/src/main/java/com/java110/fee/cmd/fee/RoomCreatePayFeeCmd.java                       |   41 +++-----
 service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveProxyFeeCmd.java                    |    6 +
 springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportRoomFeeSMOImpl.java         |    3 
 service-fee/src/main/java/com/java110/fee/cmd/fee/SaveParkingSpaceCreateFeeCmd.java              |   28 ++---
 springboot/src/main/java/com/java110/boot/importData/adapt/ImportCustomFeeDataCleaningAdapt.java |    2 
 service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java                                |    7 
 service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java                          |    6 
 service-fee/src/main/java/com/java110/fee/cmd/fee/SaveRoomCreateFeeCmd.java                      |   28 ++---
 service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java    |    5 +
 java110-utils/src/main/java/com/java110/utils/util/DateUtil.java                                 |   13 ++
 service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java                        |   31 +++--
 java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java                      |   68 ++-----------
 15 files changed, 113 insertions(+), 154 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 b4201f6..5161aec 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
@@ -1665,7 +1665,10 @@
         Date preEndTime = preEndTimeCal.getTime();
 
         //todo 褰撳墠璐圭敤涓轰竴娆℃�ц垂鐢�
-        Date maxEndTime = feeDto.getConfigEndTime();
+        Date maxEndTime = feeDto.getDeadlineTime();
+        if (maxEndTime == null) {
+            maxEndTime = feeDto.getConfigEndTime();
+        }
         if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
             //鍏堝彇 deadlineTime
             if (feeDto.getDeadlineTime() != null) {
@@ -1687,11 +1690,7 @@
             if (StringUtil.isNumber(feeDto.getMonthCycle())) {
                 oweMonth = Integer.parseInt(feeDto.getMonthCycle());
             }
-
-        } else if (FeeDto.FEE_FLAG_CYCLE_ONCE.equals(feeDto.getFeeFlag())) {
-            if (feeDto.getDeadlineTime() != null) {
-                maxEndTime = feeDto.getDeadlineTime();
-            }
+        } else {
             Date billEndTime = DateUtil.getCurrentDate();
             //寤鸿处鏃堕棿
             Date startDate = feeDto.getStartTime();
@@ -1719,7 +1718,6 @@
             ) {
                 targetEndDate = getTargetEndTime((round + 1) * paymentCycle, startDate);//鐩爣缁撴潫鏃堕棿
             }
-
 
             //todo 璐圭敤椤圭殑缁撴潫鏃堕棿<缂磋垂鐨勭粨鏉熸椂闂�  璐圭敤蹇粨鏉熶簡   鍙栬垂鐢ㄩ」鐨勭粨鏉熸椂闂�
             if (maxEndTime.getTime() < targetEndDate.getTime()) {
@@ -1728,50 +1726,7 @@
             //璇存槑娆犺垂
             if (endDate.getTime() < targetEndDate.getTime()) {
                 // 鐩爣鍒版湡鏃堕棿 - 鍒版湡鏃堕棿 = 娆犺垂鏈堜唤
-                oweMonth = DateUtil.dayCompare(endDate, targetEndDate);
-            }
-
-            if (feeDto.getEndTime().getTime() > targetEndDate.getTime()) {
-                targetEndDate = feeDto.getEndTime();
-            }
-        } else { // todo 鍛ㄦ湡鎬ц垂鐢�
-            //褰撳墠鏃堕棿
-            Date billEndTime = DateUtil.getCurrentDate();
-            //寤鸿处鏃堕棿
-            Date startDate = feeDto.getStartTime();
-            //璁¤垂璧峰鏃堕棿
-            Date endDate = feeDto.getEndTime();
-            //缂磋垂鍛ㄦ湡
-            long paymentCycle = Long.parseLong(feeDto.getPaymentCycle());
-            // 褰撳墠鏃堕棿 - 寮�濮嬫椂闂�  = 鏈堜唤
-            double mulMonth = 0.0;
-            mulMonth = DateUtil.dayCompare(startDate, billEndTime);
-
-            // 鏈堜唤/ 鍛ㄦ湡 = 杞暟锛堝悜涓婂彇鏁达級
-            double round = 0.0;
-            if ("1200".equals(feeDto.getPaymentCd())) { // 1200棰勪粯璐�
-                round = Math.floor(mulMonth / paymentCycle) + 1;
-            } else { //2100鍚庝粯璐�
-                round = Math.floor(mulMonth / paymentCycle);
-            }
-            // 杞暟 * 鍛ㄦ湡 * 30 + 寮�濮嬫椂闂� = 鐩爣 鍒版湡鏃堕棿
-            targetEndDate = getTargetEndTime(round * paymentCycle, startDate);//鐩爣缁撴潫鏃堕棿
-
-            //todo 濡傛灉 鍒颁簡 棰勪粯鏈� 浜х敓涓嬩釜鍛ㄦ湡鐨勮垂鐢�
-            if (DateUtil.getFormatTimeStringB(targetEndDate).equals(DateUtil.getFormatTimeStringB(endDate))
-                    && DateUtil.getCurrentDate().getTime() > preEndTime.getTime()
-            ) {
-                targetEndDate = getTargetEndTime((round + 1) * paymentCycle, startDate);//鐩爣缁撴潫鏃堕棿
-            }
-
-            //璐圭敤椤圭殑缁撴潫鏃堕棿<缂磋垂鐨勭粨鏉熸椂闂�  璐圭敤蹇粨鏉熶簡   鍙栬垂鐢ㄩ」鐨勭粨鏉熸椂闂�
-            if (maxEndTime.getTime() < targetEndDate.getTime()) {
-                targetEndDate = maxEndTime;
-            }
-            //璇存槑娆犺垂
-            if (endDate.getTime() < targetEndDate.getTime()) {
-                // 鐩爣鍒版湡鏃堕棿 - 鍒版湡鏃堕棿 = 娆犺垂鏈堜唤
-                oweMonth = DateUtil.dayCompare(endDate, targetEndDate);
+                oweMonth = DateUtil.dayCompare(endDate, targetEndDate, true);
             }
 
             if (feeDto.getEndTime().getTime() > targetEndDate.getTime()) {
@@ -2165,7 +2120,7 @@
         }
 
         //todo 閫掑鏃堕棿 涓嶆槸 璐圭敤寤鸿处鏃堕棿鐨勫�嶆暟鏃讹紝淇涓�涓�
-        rateStartTime = correctByFeeStartTime(rateStartTime,feeDto.getStartTime());
+        rateStartTime = correctByFeeStartTime(rateStartTime, feeDto.getStartTime());
 
         BigDecimal addTotalAmount = new BigDecimal("0");
         double curOweMonth = 0;
@@ -2205,7 +2160,7 @@
                 continue;
             }
             //todo 鏈疆 娆犺垂寮�濮嬫椂闂村ぇ浜� deadlineTime 璺宠繃
-            if(curOweStartTime.getTime() >= feeDto.getDeadlineTime().getTime()){
+            if (curOweStartTime.getTime() >= feeDto.getDeadlineTime().getTime()) {
                 continue;
             }
 
@@ -2231,6 +2186,7 @@
     /**
      * 淇閫掑 寮�濮嬫椂闂�
      * 濡傛灉璁剧疆鐨� 閫掑寮�濮嬫椂闂村拰寤鸿处鏃堕棿涓嶆槸鍚屼竴澶� 寮哄埗淇涓�
+     *
      * @param rateStartTime
      * @param startTime
      * @return
@@ -2242,14 +2198,14 @@
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(startTime);
         int day = calendar.get(Calendar.DAY_OF_MONTH);
-        if(rateDay == day){
+        if (rateDay == day) {
             return rateStartTime;
         }
 
         rateCalendar = Calendar.getInstance();
         rateCalendar.setTime(rateStartTime);
-        rateCalendar.add(Calendar.MONTH,1);
-        rateCalendar.set(Calendar.DAY_OF_MONTH,day);
+        rateCalendar.add(Calendar.MONTH, 1);
+        rateCalendar.set(Calendar.DAY_OF_MONTH, day);
         return rateCalendar.getTime();
     }
 
diff --git a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
index b2ae91d..17b13e5 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -832,7 +832,9 @@
         return false;
     }
 
-
+    public static double dayCompare(Date fromDate, Date toDate){
+        return dayCompare(fromDate,toDate,false);
+    }
 
     /**
      * 璁$畻 fromDate 2023-01-12  toDate 2023-09-15
@@ -843,7 +845,14 @@
      * @param toDate
      * @return
      */
-    public static double dayCompare(Date fromDate, Date toDate) {
+    public static double dayCompare(Date fromDate, Date toDate,boolean plusOneSec) {
+
+        if(plusOneSec){
+            Calendar toD = Calendar.getInstance();
+            toD.setTime(toDate);
+            toD.add(Calendar.SECOND,1);
+            toDate = toD.getTime();
+        }
 
 
         //todo 闇�瑕佽绠椾笁绔椂闂� 鐩稿姞鍗冲彲
diff --git a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
index e031cc2..334cf89 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportRoomSMOImpl.java
@@ -175,7 +175,7 @@
         cell0.setCellValue("璐圭敤鍚嶇О: 璇峰~鍐欑郴缁熶腑璐圭敤绫诲瀷锛屽鐗╀笟璐癸紝鎶奸噾绛� 锛沑n璁¤垂璧峰鏃堕棿: " +
                 "璁¤垂璧峰鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛沑n璁¤垂缁撴潫鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛沑n" +
                 "寤鸿处鏃堕棿: 寤鸿处鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛� \n 绫诲瀷锛氳〃鏄庢槸鍚堝悓 鎴垮眿 杩樻槸杞﹁締 鎴垮眿 1001 杞﹁締 2002 鍚堝悓 3003" +
-                "\n娉ㄦ剰锛氭墍鏈夊崟鍏冩牸寮忎负鏂囨湰锛岃璐圭粨鏉熸椂闂村彧鏈変竴娆℃�ц垂鐢ㄥ拰闂存帴鎬ц垂鐢ㄦ椂闇�瑕佸~鍐�");
+                "\n娉ㄦ剰锛氭墍鏈夊崟鍏冩牸寮忎负鏂囨湰");
         CellStyle cs = workbook.createCellStyle();
         cs.setWrapText(true);  //鍏抽敭
         cell0.setCellStyle(cs);
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
index 00f320d..4c280d8 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
@@ -25,10 +25,7 @@
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.importFee.ImportFeePo;
 import com.java110.po.importFee.ImportFeeDetailPo;
-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 com.java110.utils.util.*;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
@@ -106,7 +103,7 @@
 
         List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
 
-        if (tmpImportRoomFees == null || tmpImportRoomFees.size() < 1) {
+        if (ListUtil.isNull(tmpImportRoomFees)) {
             throw new IllegalArgumentException("鏈寘鍚鍏ヨ垂鐢�");
         }
 
@@ -133,15 +130,10 @@
         feeConfigDto.setCommunityId(communityId);
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
         // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
-        if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
-
+        if (ListUtil.isNull(feeConfigDtos)) {
             throw new IllegalArgumentException("璐圭敤椤逛笉瀛樺湪");
-            //鐢熸垚瀵煎叆璐�
-            //feeConfigDto.setConfigId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId));
-            //saveFeeConfig(feeConfigDto);
-        } else {
-            feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
         }
+        feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
 
         for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
             tmpImportRoomFee.setCommunityId(communityId);
@@ -177,6 +169,7 @@
         List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
         PayFeePo payFeePo = null;
         ImportFeeDetailPo importFeeDetailPo = null;
+        String endTime = "";
         for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
             if (StringUtil.isEmpty(importRoomFee.getRoomId()) || importRoomFee.getRoomId().startsWith("-") ||
                     StringUtil.isEmpty(importRoomFee.getFloorNum()) || importRoomFee.getFloorNum().startsWith("-") ||
@@ -185,6 +178,11 @@
                 errorCount++;
                 continue;
             }
+            endTime = importRoomFee.getEndTime();
+            if(!endTime.contains(":")){
+                endTime += " 23:59:59";
+            }
+
             successCount++;
             payFeePo = new PayFeePo();
             payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId, true));
@@ -218,7 +216,7 @@
             feeAttrPo.setCommunityId(communityId);
             feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
-            feeAttrPo.setValue(importRoomFee.getEndTime());
+            feeAttrPo.setValue(endTime);
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
 
@@ -371,12 +369,17 @@
         List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
         PayFeePo payFeePo = null;
         ImportFeeDetailPo importFeeDetailPo = null;
+        String endTime = "";
         for (ImportRoomFee importCarFee : tmpImportCarFees) {
             if (StringUtil.isEmpty(importCarFee.getCarId()) || importCarFee.getCarId().startsWith("-") ||
                     StringUtil.isEmpty(importCarFee.getCarNum()) || importCarFee.getCarNum().startsWith("-")
             ) {
                 errorCount++;
                 continue;
+            }
+            endTime = importCarFee.getEndTime();
+            if(!endTime.contains(":")){
+                endTime += " 23:59:59";
             }
             successCount++;
             payFeePo = new PayFeePo();
@@ -411,7 +414,7 @@
             feeAttrPo.setCommunityId(communityId);
             feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
-            feeAttrPo.setValue(importCarFee.getEndTime());
+            feeAttrPo.setValue(endTime);
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
 
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
index 4b1903b..ff3235b 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -143,7 +143,7 @@
 
         List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
 
-        if (feeDtos == null || feeDtos.size() < 1) {
+        if (ListUtil.isNull(feeDtos)) {
             return ResultVo.success();
         }
         String cycel = null;
@@ -182,7 +182,7 @@
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡鍒版埧灞嬩俊鎭紝鏌ヨ澶氭潯鏁版嵁");
             }
             roomDto = roomDtos.get(0);
-            feeDto.setPayerObjName(roomDto.getFloorNum() + "鏍�" + roomDto.getUnitNum() + "鍗曞厓" + roomDto.getRoomNum() + "瀹�");
+            feeDto.setPayerObjName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum() );
             feeDto.setBuiltUpArea(roomDto.getBuiltUpArea());
 
         } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {//杞︿綅鐩稿叧
@@ -196,7 +196,7 @@
             parkingSpaceDto.setCommunityId(feeDto.getCommunityId());
             parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId());
             List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
-            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) { //鏁版嵁鏈夐棶棰�
+            if (ListUtil.isNull(parkingSpaceDtos)) { //鏁版嵁鏈夐棶棰�
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "鏈煡鍒板仠杞︿綅淇℃伅锛屾煡璇㈠鏉℃暟鎹�");
             }
             ownerCarDto = ownerCarDtos.get(0);
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
index 35aca2f..6bb345e 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
@@ -127,7 +127,8 @@
         int count = feeInnerServiceSMOImpl.queryFeesCount(feeDto);
         if (count > 0) {
             List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);//鏌ヨ璐圭敤椤圭洰
-            computeFeePrice(feeDtos);//璁$畻璐圭敤
+            //todo 璁$畻璐圭敤
+            computeFeePrice(feeDtos);
             List<ApiFeeDataVo> apiFeeDataVos = BeanConvertUtil.covertBeanList(feeDtos, ApiFeeDataVo.class);
             for (ApiFeeDataVo apiFeeDataVo : apiFeeDataVos) {
                 //鑾峰彇浠樿垂瀵硅薄绫诲瀷
@@ -183,7 +184,7 @@
         floorDto.setFloorNum(floorNum);
         floorDto.setCommunityId(reqJson.getString("communityId"));
         List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
-        if (floorDtos == null || floorDtos.size() < 1) {
+        if (ListUtil.isNull(floorDtos)) {
             return;
         }
         for (FloorDto floor : floorDtos) {
@@ -217,7 +218,7 @@
     }
 
     private void computeFeePrice(List<FeeDto> feeDtos) {
-        if (feeDtos == null || feeDtos.isEmpty()) {
+        if (ListUtil.isNull(feeDtos)) {
             return;
         }
         String val = CommunitySettingFactory.getValue(feeDtos.get(0).getCommunityId(), TOTAL_FEE_PRICE);
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/RoomCreatePayFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/RoomCreatePayFeeCmd.java
index 079eccc..63ec5c7 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/RoomCreatePayFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/RoomCreatePayFeeCmd.java
@@ -21,6 +21,7 @@
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.ListUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.text.ParseException;
@@ -54,6 +55,13 @@
         Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖篒D");
         Assert.hasKeyAndValue(reqJson, "configId", "鏈寘鍚敹璐归」鐩�");
         Assert.hasKeyAndValue(reqJson, "startTime", "寮�濮嬫椂闂翠笉瀛樺湪");
+        Assert.hasKeyAndValue(reqJson, "endTime", "缁撴潫鏃堕棿涓嶅瓨鍦�");
+
+        String endTime = reqJson.getString("endTime");
+        if (!endTime.contains(":")) {
+            endTime += " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
 
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(reqJson.getString("communityId"));
@@ -69,19 +77,8 @@
         }
 
         JSONArray roomIds = reqJson.getJSONArray("roomIds");
-        if (roomIds == null || roomIds.isEmpty()) {
+        if (ListUtil.isNull(roomIds)) {
             throw new IllegalArgumentException("鏈寘鍚埧灞�");
-        }
-        //todo 涓嶆槸鍛ㄦ湡鎬ц垂鐢� endTime 蹇呴』瀛樺湪
-        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())) {
-            Assert.hasKeyAndValue(reqJson, "endTime", "缁撴潫鏃堕棿涓嶅瓨鍦�");
-            Date endTime = null;
-            Date configEndTime = null;
-            endTime = DateUtil.getDateFromStringB(reqJson.getString("endTime"));
-            configEndTime = DateUtil.getDateFromStringA(feeConfigDtos.get(0).getEndTime());
-            if (endTime.getTime() > configEndTime.getTime()) {
-                throw new IllegalArgumentException("缁撴潫鏃堕棿涓嶈兘瓒呰繃璐圭敤椤规椂闂�");
-            }
         }
 
         //todo 鍔ㄦ�佽垂鐢�
@@ -109,20 +106,6 @@
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
 
         //todo 鐢熸垚鎵规
-        generatorBatch(reqJson);
-
-
-        //todo 浜ょ粰databus 寮傛鏂瑰紡澶勭悊锛屽悓姝ユ柟寮忓鐞嗗緢瀹规槗瓒呮椂
-        dataBusInnerServiceSMOImpl.databusData(new DatabusDataDto(DatabusDataDto.BUSINESS_TYPE_ROOM_CREATE_PAY_FEE, reqJson));
-
-    }
-
-    /**
-     * 鐢熸垚鎵规鍙�
-     *
-     * @param reqJson
-     */
-    private void generatorBatch(JSONObject reqJson) {
         PayFeeBatchPo payFeeBatchPo = new PayFeeBatchPo();
         payFeeBatchPo.setBatchId(GenerateCodeFactory.getGeneratorId("12"));
         payFeeBatchPo.setCommunityId(reqJson.getString("communityId"));
@@ -141,5 +124,11 @@
         }
 
         reqJson.put("batchId", payFeeBatchPo.getBatchId());
+
+
+        //todo 浜ょ粰databus 寮傛鏂瑰紡澶勭悊锛屽悓姝ユ柟寮忓鐞嗗緢瀹规槗瓒呮椂
+        dataBusInnerServiceSMOImpl.databusData(new DatabusDataDto(DatabusDataDto.BUSINESS_TYPE_ROOM_CREATE_PAY_FEE, reqJson));
+
     }
+
 }
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveContractCreateFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveContractCreateFeeCmd.java
index f561116..4512b2a 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveContractCreateFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveContractCreateFeeCmd.java
@@ -25,10 +25,7 @@
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.payFee.PayFeeBatchPo;
 import com.java110.utils.exception.CmdException;
-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 com.java110.utils.util.*;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,7 +72,14 @@
         // super.validatePageInfo(pd);
         Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖篒D");
         Assert.hasKeyAndValue(reqJson, "configId", "鏈寘鍚敹璐归」鐩�");
-        //Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚敹璐瑰叾瀹炴椂闂�");
+        Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚敹璐瑰叾瀹炴椂闂�");
+        Assert.hasKeyAndValue(reqJson, "endTime", "鏈寘鍚璐圭粨鏉熸椂闂�");
+
+        String endTime = reqJson.getString("endTime");
+        if (!endTime.contains(":")) {
+            endTime += " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
         //Assert.hasKeyAndValue(reqJson, "billType", "鏈寘鍚嚭璐︾被鍨�");
         //Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴稩D");
     }
@@ -176,16 +180,13 @@
         for (int roomIndex = 0; roomIndex < contractDtos.size(); roomIndex++) {
             curFailRoomCount++;
             feePos.add(BeanConvertUtil.covertBean(feeBMOImpl.addContractFee(contractDtos.get(roomIndex), reqJson, context), PayFeePo.class));
+            feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
+                    reqJson.getString("endTime")));
             if (!StringUtil.isEmpty(contractDtos.get(roomIndex).getObjId())) {
-                if (!FeeDto.FEE_FLAG_CYCLE.equals(reqJson.getString("feeFlag"))) {
-                    feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
-                            reqJson.containsKey("endTime") ? reqJson.getString("endTime") : reqJson.getString("configEndTime")));
-                }
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_ID, contractDtos.get(roomIndex).getObjId()));
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_LINK, contractDtos.get(roomIndex).getbLink()));
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_NAME, contractDtos.get(roomIndex).getPartyB()));
             }
-
             //浠樿垂瀵硅薄鍚嶇О
             feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME,
                     contractDtos.get(roomIndex).getContractName()));
@@ -201,7 +202,7 @@
                 }
             }
         }
-        if (feePos != null && feePos.size() > 0) {
+        if (!ListUtil.isNull(feePos)) {
             saveFlag = saveFeeAndAttrs(feePos, feeAttrsPos);
             if (saveFlag < 1) {
                 failRooms += curFailRoomCount;
@@ -212,7 +213,7 @@
         paramOut.put("successRoom", contractDtos.size() - failRooms);
         paramOut.put("errorRoom", failRooms);
 
-        context.setResponseEntity( ResultVo.createResponseEntity(paramOut));
+        context.setResponseEntity(ResultVo.createResponseEntity(paramOut));
     }
 
 
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveParkingSpaceCreateFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveParkingSpaceCreateFeeCmd.java
index c65163c..320ce43 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveParkingSpaceCreateFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveParkingSpaceCreateFeeCmd.java
@@ -78,7 +78,14 @@
         Assert.hasKeyAndValue(reqJson, "locationObjId", "鏈寘鍚敹璐瑰璞�");
         Assert.hasKeyAndValue(reqJson, "configId", "鏈寘鍚敹璐归」鐩�");
         Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴稩D");
-        //Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚垂鐢ㄨ捣濮嬫椂闂�");
+        Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚垂鐢ㄨ捣濮嬫椂闂�");
+        Assert.hasKeyAndValue(reqJson, "endTime", "鏈寘鍚垂鐢ㄧ粨鏉熸椂闂�");
+
+        String endTime = reqJson.getString("endTime");
+        if (!endTime.contains(":")) {
+            endTime += " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
     }
 
     @Override
@@ -93,19 +100,6 @@
         reqJson.put("feeFlag", feeConfigDtos.get(0).getFeeFlag());
         reqJson.put("configEndTime", feeConfigDtos.get(0).getEndTime());
 
-        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag()) && reqJson.containsKey("endTime")) {
-            Date endTime = null;
-            Date configEndTime = null;
-            try {
-                endTime = DateUtil.getDateFromString(reqJson.getString("endTime"), DateUtil.DATE_FORMATE_STRING_B);
-                configEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
-                if (endTime.getTime() > configEndTime.getTime()) {
-                    throw new IllegalArgumentException("缁撴潫鏃堕棿涓嶈兘瓒呰繃璐圭敤椤规椂闂�");
-                }
-            } catch (ParseException e) {
-                throw new IllegalArgumentException("缁撴潫鏃堕棿閿欒" + reqJson.getString("endTime"));
-            }
-        }
         //鐢熸垚鎵规
         generatorBatch(reqJson);
         //鍒ゆ柇鏀惰垂鑼冨洿
@@ -224,11 +218,9 @@
         for (int ownerCarIndex = 0; ownerCarIndex < ownerCarDtos.size(); ownerCarIndex++) {
             curFailRoomCount++;
             feePos.add(BeanConvertUtil.covertBean(feeBMOImpl.addFee(ownerCarDtos.get(ownerCarIndex), reqJson, context), PayFeePo.class));
+            feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
+                    reqJson.getString("endTime")));
             if (!StringUtil.isEmpty(ownerCarDtos.get(ownerCarIndex).getOwnerId())) {
-                if (!FeeDto.FEE_FLAG_CYCLE.equals(reqJson.getString("feeFlag"))) {
-                    feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
-                            reqJson.containsKey("endTime") ? reqJson.getString("endTime") : reqJson.getString("configEndTime")));
-                }
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_ID, ownerCarDtos.get(ownerCarIndex).getOwnerId()));
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_LINK, ownerCarDtos.get(ownerCarIndex).getLink()));
                 feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_NAME, ownerCarDtos.get(ownerCarIndex).getOwnerName()));
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveRoomCreateFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveRoomCreateFeeCmd.java
index 04f3083..fe1c071 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveRoomCreateFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/SaveRoomCreateFeeCmd.java
@@ -83,6 +83,14 @@
         Assert.hasKeyAndValue(reqJson, "locationObjId", "鏈寘鍚敹璐瑰璞�");
         Assert.hasKeyAndValue(reqJson, "configId", "鏈寘鍚敹璐归」鐩�");
         Assert.hasKeyAndValue(reqJson, "storeId", "鏈寘鍚晢鎴稩D");
+        Assert.hasKeyAndValue(reqJson, "startTime", "鏈寘鍚璐硅捣濮嬫椂闂�");
+        Assert.hasKeyAndValue(reqJson, "endTime", "鏈寘鍚璐圭粨鏉熸椂闂�");
+
+        String endTime = reqJson.getString("endTime");
+        if (!endTime.contains(":")) {
+            endTime += " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
 
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(reqJson.getString("communityId"));
@@ -92,18 +100,6 @@
         reqJson.put("feeTypeCd", feeConfigDtos.get(0).getFeeTypeCd());
         reqJson.put("feeFlag", feeConfigDtos.get(0).getFeeFlag());
         reqJson.put("configEndTime", feeConfigDtos.get(0).getEndTime());
-
-
-        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag()) && reqJson.containsKey("endTime")) {
-            Date endTime = null;
-            Date configEndTime = null;
-
-            endTime = DateUtil.getDateFromStringB(reqJson.getString("endTime"));
-            configEndTime = DateUtil.getDateFromStringA(feeConfigDtos.get(0).getEndTime());
-            if (endTime.getTime() > configEndTime.getTime()) {
-                throw new IllegalArgumentException("缁撴潫鏃堕棿涓嶈兘瓒呰繃璐圭敤椤规椂闂�");
-            }
-        }
 
         if (FeeConfigDto.COMPUTING_FORMULA_RANT_RATE.equals(feeConfigDtos.get(0).getComputingFormula())) {
             Assert.hasKeyAndValue(reqJson, "rateCycle", "鏈寘鍚�掑鍛ㄦ湡");
@@ -169,10 +165,12 @@
             return;
         }
 
+        feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson,
+                context,
+                FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
+                reqJson.getString("endTime")));
+
         if (!StringUtil.isEmpty(roomDto.getOwnerId())) {
-            if (!FeeDto.FEE_FLAG_CYCLE.equals(reqJson.getString("feeFlag"))) {
-                feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME, reqJson.containsKey("endTime") ? reqJson.getString("endTime") : reqJson.getString("configEndTime")));
-            }
             feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_ID, roomDto.getOwnerId()));
             feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_LINK, roomDto.getLink()));
             feeAttrsPos.add(feeBMOImpl.addFeeAttr(reqJson, context, FeeAttrDto.SPEC_CD_OWNER_NAME, roomDto.getOwnerName()));
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveProxyFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveProxyFeeCmd.java
index 5022827..4d5943e 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveProxyFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveProxyFeeCmd.java
@@ -74,6 +74,12 @@
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈寮�濮嬫椂闂�");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈缁撴潫鏃堕棿");
+
+        String endTime = reqJson.getString("endTime");
+        if (!endTime.contains(":")) {
+            endTime += " 23:59:59";
+            reqJson.put("endTime", endTime);
+        }
     }
 
     @Override
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java
index c893cf8..7fd310d 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java
@@ -84,6 +84,11 @@
         JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
         ImportCustomCreateFeeDto importExportMeterWaterDto = BeanConvertUtil.covertBean(data, ImportCustomCreateFeeDto.class);
 
+        //todo 澶勭悊缁撴潫鏃堕棿
+        if (!importExportMeterWaterDto.getEndTime().contains(":")) {
+            importExportMeterWaterDto.setEndTime(importExportMeterWaterDto.getEndTime() + " 23:59:59");
+        }
+
         String communityId = importExportMeterWaterDto.getCommunityId();
         String batchId = importExportMeterWaterDto.getBatchId();
 
diff --git a/springboot/src/main/java/com/java110/boot/importData/adapt/ImportCustomFeeDataCleaningAdapt.java b/springboot/src/main/java/com/java110/boot/importData/adapt/ImportCustomFeeDataCleaningAdapt.java
index 20873fc..c717859 100644
--- a/springboot/src/main/java/com/java110/boot/importData/adapt/ImportCustomFeeDataCleaningAdapt.java
+++ b/springboot/src/main/java/com/java110/boot/importData/adapt/ImportCustomFeeDataCleaningAdapt.java
@@ -84,7 +84,7 @@
             Assert.isDate(createTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屽缓璐︽椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
             Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岃璐硅捣濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
             String endTime = "";
-            if(os.length > 6 && os[6] != null){
+            if (os.length > 6 && os[6] != null) {
                 endTime = excelDoubleToDate(os[6].toString());
                 Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岃璐圭粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
             }
diff --git a/springboot/src/main/java/com/java110/boot/smo/assetExport/impl/ExportRoomSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/assetExport/impl/ExportRoomSMOImpl.java
index b49109e..e9b64e5 100644
--- a/springboot/src/main/java/com/java110/boot/smo/assetExport/impl/ExportRoomSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/assetExport/impl/ExportRoomSMOImpl.java
@@ -175,7 +175,7 @@
         cell0.setCellValue("璐圭敤鍚嶇О: 璇峰~鍐欑郴缁熶腑璐圭敤绫诲瀷锛屽鐗╀笟璐癸紝鎶奸噾绛� 锛沑n璁¤垂璧峰鏃堕棿: " +
                 "璁¤垂璧峰鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛沑n璁¤垂缁撴潫鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛沑n" +
                 "寤鸿处鏃堕棿: 寤鸿处鏃堕棿锛屾牸寮忎负YYYY-MM-DD锛� \n 绫诲瀷锛氳〃鏄庢槸鍚堝悓 鎴垮眿 杩樻槸杞﹁締 鎴垮眿 1001 杞﹁締 2002 鍚堝悓 3003" +
-                "\n娉ㄦ剰锛氭墍鏈夊崟鍏冩牸寮忎负鏂囨湰锛岃璐圭粨鏉熸椂闂村彧鏈変竴娆℃�ц垂鐢ㄥ拰闂存帴鎬ц垂鐢ㄦ椂闇�瑕佸~鍐�");
+                "\n娉ㄦ剰锛氭墍鏈夊崟鍏冩牸寮忎负鏂囨湰");
         CellStyle cs = workbook.createCellStyle();
         cs.setWrapText(true);  //鍏抽敭
         cell0.setCellStyle(cs);
diff --git a/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportRoomFeeSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
index d1b6e17..6704bf4 100644
--- a/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
@@ -209,8 +209,7 @@
                 tmpImportRoomFees = new ArrayList<>();
             }
         }
-        if (tmpImportRoomFees != null && tmpImportRoomFees.size() > 0) {
-
+        if (!ListUtil.isNull(tmpImportRoomFees)) {
             createRoomFee(pd, tmpImportRoomFees, data, paramOut);
         }
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "鎴愬姛锛�" + paramOut.getString("successCount") + ",澶辫触锛�" + paramOut.getString("errorCount"));

--
Gitblit v1.8.0