wuxw
2024-04-05 09095d67f2e2acf45dcd55155da491e44206db4e
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -81,7 +81,7 @@
        feeDto.setState(FeeDto.STATE_DOING);
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        if (feeDtos == null || feeDtos.size() < 1) {
        if (ListUtil.isNull(feeDtos)) {
            feeDtos = new ArrayList<>();
            return ResultVo.createResponseEntity(feeDtos);
        }
@@ -92,7 +92,14 @@
        List<FeeDto> tmpFeeDtos = new ArrayList<>();
        for (FeeDto tmpFeeDto : feeDtos) {
            try {
                computeFeeSMOImpl.computeEveryOweFee(tmpFeeDto);//计算欠费金额
                //todo 有目标结束时间,并且不是一次性费用
                if (!StringUtil.isEmpty(feeDto.getTargetEndTime())
                        && !FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())
                ) {
                    computeFeeSMOImpl.computeEveryOweFeeByTargetEndTime(tmpFeeDto, feeDto.getTargetEndTime());//计算欠费金额
                } else {
                    computeFeeSMOImpl.computeEveryOweFee(tmpFeeDto);//计算欠费金额
                }
                //如果金额为0 就排除
                tmpFeeDto.setFeeTotalPrice(
                        MoneyUtil.computePriceScale(
@@ -136,7 +143,7 @@
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        if (feeDtos == null || feeDtos.size() < 1) {
        if (ListUtil.isNull(feeDtos)) {
            return ResultVo.success();
        }
        String cycel = null;
@@ -152,6 +159,10 @@
        customStartTime = feeDto.getCustomStartTime();
        customEndTime = feeDto.getCustomEndTime();
        feeDto = feeDtos.get(0);
        //todo 考虑账单模式
        if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag()) && StringUtil.isNumber(feeDto.getMonthCycle())) {
            cycel = feeDto.getMonthCycle();
        }
        if (!StringUtil.isEmpty(cycel)) {
            feeDto.setCycle(cycel);
        }
@@ -171,7 +182,7 @@
                throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "未查到房屋信息,查询多条数据");
            }
            roomDto = roomDtos.get(0);
            feeDto.setPayerObjName(roomDto.getFloorNum() + "栋" + roomDto.getUnitNum() + "单元" + roomDto.getRoomNum() + "室");
            feeDto.setPayerObjName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum() );
            feeDto.setBuiltUpArea(roomDto.getBuiltUpArea());
        } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {//车位相关
@@ -185,7 +196,7 @@
            parkingSpaceDto.setCommunityId(feeDto.getCommunityId());
            parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId());
            List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) { //数据有问题
            if (ListUtil.isNull(parkingSpaceDtos)) { //数据有问题
                throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "未查到停车位信息,查询多条数据");
            }
            ownerCarDto = ownerCarDtos.get(0);
@@ -656,8 +667,6 @@
        }
    }
    private Date getTargetEndTime(double v, Date startDate) {