| | |
| | | package com.java110.report.bmo.reportOweFee.impl; |
| | | |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.reportOweFee.ReportOweFeeDto; |
| | | import com.java110.dto.reportOweFee.ReportOweFeeItemDto; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.report.IReportOweFeeInnerServiceSMO; |
| | | import com.java110.report.bmo.reportOweFee.IGetReportOweFeeBMO; |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | |
| | | |
| | | @Autowired |
| | | private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl; |
| | | |
| | | |
| | | /** |
| | |
| | | ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto(); |
| | | reportOweFeeDto.setPayerObjIds(payObjIds.toArray(new String[payObjIds.size()])); |
| | | List<ReportOweFeeDto> allReportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto); |
| | | |
| | | List<ReportOweFeeDto> reportOweFeeDtos = new ArrayList<>(); |
| | | for (ReportOweFeeDto reportOweFee : allReportOweFeeDtos) { |
| | | ReportOweFeeDto reportOwe = new ReportOweFeeDto(); |
| | | reportOwe.setOweId(reportOweFee.getOweId()); |
| | | if (reportOweFee.getPayerObjType().equals("3333")) { |
| | | List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByRoom(reportOwe); |
| | | reportOweFee.setOweId(reportOweFees.get(0).getOweId()); |
| | | reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName()); |
| | | } else if (reportOweFee.getPayerObjType().equals("6666")) { |
| | | List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByCar(reportOwe); |
| | | reportOweFee.setOweId(reportOweFees.get(0).getOweId()); |
| | | reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName()); |
| | | } |
| | | reportOweFeeDtos.add(reportOweFee); |
| | | } |
| | | for (ReportOweFeeDto tmpReportOweFeeDto : oldReportOweFeeDtos) { |
| | | dealItem(tmpReportOweFeeDto, allReportOweFeeDtos); |
| | | dealItem(tmpReportOweFeeDto, reportOweFeeDtos); |
| | | } |
| | | |
| | | if (configIds == null || configIds.length < 1) { |
| | |
| | | reportOweFeeItemDto.setAmountOwed(reportOweFeeDto.getAmountOwed()); |
| | | reportOweFeeItemDto.setPayerObjId(reportOweFeeDto.getPayerObjId()); |
| | | reportOweFeeItemDto.setPayerObjName(reportOweFeeDto.getPayerObjName()); |
| | | reportOweFeeItemDto.setConfigName(reportOweFeeDto.getConfigName()); |
| | | try { |
| | | reportOweFeeItemDto.setStartTime(DateUtil.getDateFromString(reportOweFeeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | reportOweFeeItemDto.setEndTime(DateUtil.getDateFromString(reportOweFeeDto.getDeadlineTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | |
| | | items.add(reportOweFeeItemDto); |
| | | } else { |
| | | BigDecimal oldAmount = new BigDecimal(Double.parseDouble(reportOweFeeItemDto.getAmountOwed())); |
| | | oldAmount = oldAmount.add(new BigDecimal(Double.parseDouble(reportOweFeeDto.getAmountOwed()))); |
| | | oldAmount = oldAmount.add(new BigDecimal(Double.parseDouble(reportOweFeeDto.getAmountOwed()))).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | reportOweFeeItemDto.setAmountOwed(oldAmount.doubleValue() + ""); |
| | | } |
| | | oldReportOweFeeDto.setOwnerName(reportOweFeeDto.getOwnerName()); |
| | | if (!StringUtil.isEmpty(reportOweFeeDto.getOwnerName())) { |
| | | oldReportOweFeeDto.setOwnerName(reportOweFeeDto.getOwnerName()); |
| | | } |
| | | oldReportOweFeeDto.setUpdateTime(reportOweFeeDto.getUpdateTime()); |
| | | oldReportOweFeeDto.setConfigName(reportOweFeeDto.getConfigName()); |
| | | } |
| | |
| | | endTime = tempReportOweFeeItemDto.getEndTime(); |
| | | } |
| | | if (endTime.getTime() < tempReportOweFeeItemDto.getEndTime().getTime()) { |
| | | endTime = tempReportOweFeeItemDto.getStartTime(); |
| | | endTime = tempReportOweFeeItemDto.getEndTime(); |
| | | } |
| | | totalAmount = totalAmount.add(new BigDecimal(Double.parseDouble(tempReportOweFeeItemDto.getAmountOwed()))); |
| | | totalAmount = totalAmount.add(new BigDecimal(Double.parseDouble(tempReportOweFeeItemDto.getAmountOwed()))).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | } |
| | | oldReportOweFeeDto.setEndTime(DateUtil.getFormatTimeString(startTime, DateUtil.DATE_FORMATE_STRING_A)); |
| | | oldReportOweFeeDto.setDeadlineTime(DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_A)); |