From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java |   51 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java b/service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java
old mode 100644
new mode 100755
index 575bdb0..0f2878d
--- a/service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java
@@ -1,9 +1,11 @@
 package com.java110.job.task.fee;
 
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.dto.RoomDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.fee.*;
+import com.java110.dto.logSystemError.LogSystemErrorDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.task.TaskDto;
@@ -15,10 +17,12 @@
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
-import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.po.logSystemError.LogSystemErrorPo;
+import com.java110.service.smo.ISaveSystemErrorSMO;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.TaskTemplateException;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.ExceptionUtil;
 import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -73,6 +77,9 @@
     @Autowired
     private IComputeFeeSMO computeFeeSMOImpl;
 
+    @Autowired
+    private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
+
 
     @Override
     protected void process(TaskDto taskDto) throws Exception {
@@ -81,7 +88,17 @@
         List<CommunityDto> communityDtos = getAllCommunity();
 
         for (CommunityDto communityDto : communityDtos) {
-            GenerateBill(taskDto, communityDto);
+            try {
+                GenerateBill(taskDto, communityDto);
+            }catch (Throwable e){
+
+                LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+                logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+                logger.error("璐圭敤鍑鸿处澶辫触" + communityDto.getCommunityId(), e);
+            }
         }
 
     }
@@ -106,7 +123,12 @@
         for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
             try {
                 GenerateBillByFeeConfig(taskDto, tmpFeeConfigDto);
-            } catch (Exception e) {
+            } catch (Throwable e) {
+                LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+                logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
                 logger.error("璐圭敤鍑鸿处澶辫触" + tmpFeeConfigDto.getConfigId(), e);
             }
         }
@@ -140,7 +162,7 @@
         BillDto billDto = new BillDto();
         billDto.setBillId(billId);
         billDto.setBillName(feeConfigDto.getFeeName() + "-" + DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_H));
-        billDto.setBillTime(DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+        billDto.setBillTime(DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_B));
         billDto.setCommunityId(feeConfigDto.getCommunityId());
         billDto.setConfigId(feeConfigDto.getConfigId());
         billDto.setCurBill("T");
@@ -169,7 +191,12 @@
         for (FeeDto tmpFeeDto : feeDtos) {
             try {
                 generateFee(startTime, tmpFeeDto, billDto, feeConfigDto);
-            } catch (Exception e) {
+            } catch (Throwable e) {
+                LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+                logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
                 logger.error("鐢熸垚璐圭敤澶辫触", e);
             }
         }
@@ -216,8 +243,8 @@
         if (oweMonth <= 0.0) {
             return;
         }
-        double tmpFeePrice = computeFeeSMOImpl.getFeePrice(feeDto);
-        feeDto.setFeePrice(tmpFeePrice);
+        Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDto);
+        feeDto.setFeePrice(Double.parseDouble(feePriceAll.get("feePrice").toString()));
         if (feeDto.getFeePrice() <= 0) {
             return;//杩欎釜娌℃湁娆犺垂鍙畻
         }
@@ -324,6 +351,7 @@
         if (roomDtos == null || roomDtos.size() < 1) {
             //鎴垮眿鍙兘琚垹闄や簡
             billOweFeeDto.setOweId("1");
+            billOweFeeDto.setOwnerId("-1");
             billOweFeeDto.setOwnerName("鏈煡");
             billOweFeeDto.setOwnerTel("19999999999");
             billOweFeeDto.setPayerObjName("鏈煡");
@@ -331,17 +359,22 @@
         }
 
         RoomDto tmpRoomDto = roomDtos.get(0);
-
-        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());
+        ownerRoomRelDto.setCommunityId(feeDto.getCommunityId());
         List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
 
         if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
             //鎴垮眿鍙兘琚垹闄や簡
             billOweFeeDto.setOweId("1");
+            billOweFeeDto.setOwnerId("-1");
             billOweFeeDto.setOwnerName("鏈煡");
             billOweFeeDto.setOwnerTel("19999999999");
             return;

--
Gitblit v1.8.0