| | |
| | | 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.room.RoomDto; |
| | | import com.java110.dto.report.QueryStatisticsDto; |
| | | import com.java110.report.statistics.IBaseDataStatistics; |
| | | import com.java110.report.statistics.IFeeStatistics; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | // 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 = ""; |
| | | |
| | | // todo 根据房屋ID 和payerObjId 比较 合并数据,讲费用大类 横向 放入 data中, |
| | | // todo 并且计算每个 房屋 费用大类的欠费 和房屋的总欠费 |
| | | for (int dataIndex = 0; dataIndex < datas.size(); dataIndex++) { |
| | | oweFee = new BigDecimal(0.00); |
| | | data = datas.getJSONObject(dataIndex); |
| | | //todo 这里循环费用大类 |
| | | for (Map info : infos) { |
| | |
| | | } |
| | | |
| | | 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(BeanConvertUtil.beanCovertMap(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); |
| | |
| | | } |
| | | |
| | | 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); |