From 212aa4ae1f54fe4d3e51b9695224f9f86cd1bd22 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 11 七月 2023 10:58:48 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java | 49 ++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
index 593cd19..9085714 100644
--- a/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
+++ b/service-report/src/main/java/com/java110/report/cmd/dataReport/QueryOweDetailStatisticsCmd.java
@@ -6,8 +6,10 @@
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
-import com.java110.dto.RoomDto;
+import com.java110.dto.dict.DictDto;
+import com.java110.dto.room.RoomDto;
import com.java110.dto.report.QueryStatisticsDto;
+import com.java110.intf.dev.IDictV1InnerServiceSMO;
import com.java110.report.statistics.IBaseDataStatistics;
import com.java110.report.statistics.IFeeStatistics;
import com.java110.utils.exception.CmdException;
@@ -21,6 +23,7 @@
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -35,6 +38,9 @@
@Autowired
private IBaseDataStatistics baseDataStatisticsImpl;
+
+ @Autowired
+ private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl;
@Override
@@ -68,10 +74,10 @@
queryStatisticsDto.setRow(reqJson.getInteger("row"));
//todo 鏌ヨ鎴垮眿淇℃伅
- long count = baseDataStatisticsImpl.getRoomCount(queryStatisticsDto);
+ long count = baseDataStatisticsImpl.getOweRoomCount(queryStatisticsDto);
List<RoomDto> rooms = null;
if (count > 0) {
- rooms = baseDataStatisticsImpl.getRoomInfo(queryStatisticsDto);
+ rooms = baseDataStatisticsImpl.getOweRoomInfo(queryStatisticsDto);
} else {
rooms = new ArrayList<>();
}
@@ -126,22 +132,37 @@
// todo nInfo.put(info.get("feeTypeCd").toString(), tmpInfos);
infos = washInfos(infos);
- BigDecimal oweFee = new BigDecimal(0.00);
+ BigDecimal oweFee = null;
List<Map> itemFees = null;
String feeTypeCd = "";
+
+ DictDto dictDto = new DictDto();
+ dictDto.setTableName("pay_fee_config");
+ dictDto.setTableColumns("fee_type_cd_show");
+ List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDicts(dictDto);
// todo 鏍规嵁鎴垮眿ID 鍜宲ayerObjId 姣旇緝 鍚堝苟鏁版嵁锛岃璐圭敤澶х被 妯悜 鏀惧叆 data涓紝
// todo 骞朵笖璁$畻姣忎釜 鎴垮眿 璐圭敤澶х被鐨勬瑺璐� 鍜屾埧灞嬬殑鎬绘瑺璐�
for (int dataIndex = 0; dataIndex < datas.size(); dataIndex++) {
+ oweFee = new BigDecimal(0.00);
data = datas.getJSONObject(dataIndex);
//todo 杩欓噷寰幆璐圭敤澶х被
for (Map info : infos) {
- if (!data.get("roomId").toString().equals(info.get("payerObjId"))) {
+ if (!data.getString("roomId").equals(info.get("payerObjId"))) {
continue;
}
- feeTypeCd = info.get("feeTypeCd").toString();
- oweFee = oweFee.add(new BigDecimal(info.get(feeTypeCd + "oweFee").toString()));
- data.put("oweFee" + feeTypeCd, info.get(feeTypeCd));
+// if(!info.containsKey("feeTypeCd")){
+// continue;
+// }
+ for (DictDto tDict : dictDtos) {
+ //feeTypeCd = info.get("feeTypeCd").toString();
+ feeTypeCd = tDict.getStatusCd();
+ if (!info.containsKey(feeTypeCd)) {
+ continue;
+ }
+ oweFee = oweFee.add(new BigDecimal(info.get(feeTypeCd + "oweFee").toString()));
+ data.put("oweFee" + feeTypeCd, info.get(feeTypeCd));
+ }
}
data.put("oweFee", oweFee.doubleValue());
}
@@ -164,13 +185,20 @@
}
List<Map> tmpInfos = null;
+ Map dInfo = null;
for (Map nInfo : newInfos) {
for (Map info : infos) {
if (!nInfo.get("payerObjId").equals(info.get("payerObjId"))) {
continue;
}
tmpInfos = getTmpInfos(nInfo, info);
- tmpInfos.add(info);
+ if (tmpInfos == null) {
+ continue;
+ }
+ //todo 娣辨嫹璐�
+ dInfo = new HashMap();
+ dInfo.putAll(info);
+ tmpInfos.add(dInfo);
//璁$畻鍗曢」 娆犺垂閲戦
computeOweAmount(tmpInfos, info.get("feeTypeCd").toString(), nInfo);
nInfo.put(info.get("feeTypeCd").toString(), tmpInfos);
@@ -202,6 +230,9 @@
}
private List<Map> getTmpInfos(Map nInfo, Map info) {
+ if (!info.containsKey("feeTypeCd")) {
+ return null;
+ }
String feeTypeCd = info.get("feeTypeCd").toString();
if (nInfo.containsKey(feeTypeCd)) {
return (List<Map>) nInfo.get(feeTypeCd);
--
Gitblit v1.8.0