From 4816308ace36e9f20caf4255c97e96f89f3a8a32 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 20 六月 2023 16:07:33 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
index 3933b23..291ee0d 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportMeterWaterFeeSMOImpl.java
@@ -3,13 +3,16 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.smo.DefaultAbstractComponentSMO;
-import com.java110.core.component.BaseComponentSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.meterWater.ImportExportMeterWaterDto;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.dto.meter.ImportExportMeterWaterDto;
+import com.java110.dto.payFee.PayFeeBatchDto;
+import com.java110.dto.user.UserDto;
+import com.java110.dto.system.ComponentValidateResult;
 import com.java110.api.smo.assetImport.IImportMeterWaterFeeSMO;
-import com.java110.utils.constant.ServiceConstant;
+import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.payFee.PayFeeBatchPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.ImportExcelUtils;
@@ -18,7 +21,7 @@
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -48,6 +51,13 @@
 
     @Autowired
     private RestTemplate restTemplate;
+
+    @Autowired
+    private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
 
     @Override
     public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
@@ -117,13 +127,18 @@
             throw new IllegalArgumentException("娌℃湁鏁版嵁闇�瑕佸鐞�");
         }
 
+        //鐢熸垚鎵规
         JSONObject data = JSONObject.parseObject(pd.getReqData());
+        data.put("userId", pd.getUserId());
+        data.put("communityId", result.getCommunityId());
+        generatorBatch(data);
+
         data.put("importFeeId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
         data.put("storeId", result.getStoreId());
         data.put("userId", result.getUserId());
         data.put("configId", reqJson.getString("configId"));
         data.put("feeTypeCd", reqJson.getString("feeTypeCd"));
-        data.put("communityId", result.getCommunityId());
+        data.put("meterType", reqJson.getString("meterType"));
 
         List<ImportExportMeterWaterDto> tmpImportRoomFees = new ArrayList<>();
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
@@ -201,8 +216,8 @@
 
             String startTime = excelDoubleToDate(os[4].toString());
             String endTime = excelDoubleToDate(os[6].toString());
-            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
-            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
+            Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屼笂鏈熷害鏁版椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
+            Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屾湰鏈熷害鏁版椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY-MM-DD 鏂囨湰鏍煎紡");
 
 
             importRoomFee = new ImportExportMeterWaterDto();
@@ -215,6 +230,9 @@
             importRoomFee.setCurReadingTime(endTime);
             importRoomFee.setPrice(-1);
             rooms.add(importRoomFee);
+            if (Double.parseDouble(importRoomFee.getCurDegrees()) < Double.parseDouble(importRoomFee.getPreDegrees())) {
+                throw new IllegalArgumentException((osIndex + 1) + "琛屾湰鏈熻鏁板皬浜庝笂鏈熻鏁�");
+            }
         }
     }
 
@@ -263,9 +281,39 @@
             importRoomFee.setCurDegrees(os[7].toString());
             importRoomFee.setCurReadingTime(endTime);
             rooms.add(importRoomFee);
+            if (Double.parseDouble(importRoomFee.getCurDegrees()) < Double.parseDouble(importRoomFee.getPreDegrees())) {
+                throw new IllegalArgumentException((osIndex + 1) + "琛屾湰鏈熻鏁板皬浜庝笂鏈熻鏁�");
+            }
         }
     }
 
+    /**
+     * 鐢熸垚鎵规鍙�
+     *
+     * @param reqJson
+     */
+    private void generatorBatch(JSONObject reqJson) {
+        PayFeeBatchPo payFeeBatchPo = new PayFeeBatchPo();
+        payFeeBatchPo.setBatchId(GenerateCodeFactory.getGeneratorId("12"));
+        payFeeBatchPo.setCommunityId(reqJson.getString("communityId"));
+        payFeeBatchPo.setCreateUserId(reqJson.getString("userId"));
+        UserDto userDto = new UserDto();
+        userDto.setUserId(reqJson.getString("userId"));
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+        payFeeBatchPo.setCreateUserName(userDtos.get(0).getUserName());
+        payFeeBatchPo.setState(PayFeeBatchDto.STATE_NORMAL);
+        payFeeBatchPo.setMsg("姝e父");
+        int flag = payFeeBatchV1InnerServiceSMOImpl.savePayFeeBatch(payFeeBatchPo);
+
+        if (flag < 1) {
+            throw new IllegalArgumentException("鐢熸垚鎵规澶辫触");
+        }
+
+        reqJson.put("batchId", payFeeBatchPo.getBatchId());
+    }
+
 
     //瑙f瀽Excel鏃ユ湡鏍煎紡
     public static String excelDoubleToDate(String strDate) {

--
Gitblit v1.8.0