chengf
2025-09-24 c5065db1606300b0e4802bead9fe5bd06fdc1313
添加两种缴费类型:退费缴费为退费单与被退费缴费为已退费0924
9个文件已修改
272 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/importData/ImportRoomFee.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
@@ -33,6 +33,7 @@
    private String chargeEnd; // 收费止(格式YYYY-MM-DD)
    private String communityId;
    private String frequency;
    private String frequencyLike;
    private String feeYear;
@@ -88,6 +89,14 @@
        this.id = id;
    }
    public String getFrequencyLike() {
        return frequencyLike;
    }
    public void setFrequencyLike(String frequencyLike) {
        this.frequencyLike = frequencyLike;
    }
    public String getChargeTime() {
        return chargeTime;
    }
java110-bean/src/main/java/com/java110/dto/importData/ImportRoomFee.java
@@ -75,6 +75,16 @@
    private String invoiceNo;
    private String frequency;
    public String getFrequency() {
        return frequency;
    }
    public void setFrequency(String frequency) {
        this.frequency = frequency;
    }
    public String getInvoiceNo() {
        return invoiceNo;
    }
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
@@ -27,7 +27,8 @@
            <if test="category22 != null">category_22,</if>
            <if test="chargeStart != null">charge_start,</if>
            <if test="chargeEnd != null">charge_end,</if>
            <if test="communityId != null">community_id</if>
            <if test="communityId != null">community_id,</if>
            <if test="frequency != null">frequency</if>
        </trim> VALUES
        <trim prefix="(" suffix=")" suffixOverrides=",">
            #{chargeTime},
@@ -53,7 +54,8 @@
            <if test="category22 != null">#{category22},</if>
            <if test="chargeStart != null">#{chargeStart},</if>
            <if test="chargeEnd != null">#{chargeEnd},</if>
            <if test="communityId != null">#{communityId}</if>
            <if test="communityId != null">#{communityId},</if>
            <if test="frequency != null">#{frequency}</if>
        </trim>
    </insert>
    <select id="queryPropertyWhiteListFlow" parameterType="Map" resultType="Map">
@@ -82,7 +84,9 @@
        category_22 AS category22,
        charge_start AS chargeStart,
        charge_end AS chargeEnd,
        community_id AS communityId
        community_id AS communityId,
        frequency,
        SUBSTRING_INDEX(frequency, '-', -1) as order_fre
        FROM
        property_white_list_flow
        <where>
@@ -93,7 +97,9 @@
            <if test="endChargeTime != null">
                AND charge_time &lt;= #{endChargeTime}
            </if>
            <if test="frequencyLike != null">
                AND frequency like concat(#{frequencyLike},"%")
            </if>
            <!-- 房号查询 -->
            <if test="roomId != null and roomId != ''">
                AND room_id = #{roomId}
@@ -103,7 +109,9 @@
            <if test="secondaryFeeTypeCd != null and secondaryFeeTypeCd != ''">
                AND secondary_fee_type_cd = #{secondaryFeeTypeCd}
            </if>
            <if test="invoice_receipt_no != null">
                AND invoice_receipt_no = #{invoiceReceiptNo}
            </if>
            <!-- 收费金额范围查询 -->
            <if test="minChargeAmount != null">
                AND charge_amount >= #{minChargeAmount}
@@ -131,7 +139,7 @@
                and community_id = #{communityId}
            </if>
        </where>
        order by door_room_num,secondary_fee_type_cd,charge_start
        order by order_fre desc,door_room_num,secondary_fee_type_cd,charge_start
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -226,4 +234,7 @@
            </if>
        </where>
    </select>
    <update id="updatePropertyWhiteListFlow">
        update property_white_list_flow set frequency = #{frequency} where id = #{id}
    </update>
</mapper>
java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java
@@ -27,4 +27,6 @@
    int countPropertyWhiteListFlow(PropertyWhiteListFlowDto white);
    int countPropertyWhiteListFlowFilter(PropertyWhiteListFlowDto whites);
    int updatePropertyWhiteListFlow(PropertyWhiteListFlowDto propertyWhiteListFlowDto);
}
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java
@@ -90,10 +90,8 @@
            white.setOrderNo(os[18] == null ? null : os[18].toString());
            white.setLicensePlate(os[19] == null ? null : os[19].toString());
            white.setCategory22(os[20] == null ? null : os[20].toString());
            if (os.length > 21){
                white.setFrequency(os[21] == null ? "1" : os[21].toString());
            }else{
                white.setFrequency("1");
            if (os.length > 23){
                white.setFrequency(os[23] == null ? null : os[23].toString());
            }
            white.setChargeStart(changeStart);
            white.setChargeEnd(changeEnd);
service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java
@@ -60,4 +60,9 @@
        return Integer.parseInt(businessPaymentPoolConfigInfos.get(0).get("count(1)").toString());
    }
    @Override
    public int updatePropertyWhiteListFlow(PropertyWhiteListFlowDto propertyWhiteListFlowDto) {
        return sqlSessionTemplate.update("propertyWhiteListFlowDaoImplMapper.updatePropertyWhiteListFlow", BeanConvertUtil.beanCovertMap(propertyWhiteListFlowDto));
    }
}
service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
@@ -132,9 +132,56 @@
        CommunityDto communityDto = new CommunityDto();
        communityDto.setCommunityId(communityId);
        List<CommunityDto> communityDtos = communityInnerServiceSMO.queryCommunitys(communityDto);
        Set<String> invoiceObjects = new HashSet<>();
        for (AssetImportLogDetailDto obj : assetImportLogDetailDtos) {
            String context = obj.getContent();
            if (context != null && context.contains("frequency")) {
                invoiceObjects.add(JSONObject.parseObject(context).getString("frequency"));
            }
        }
        for (AssetImportLogDetailDto assetImportLogDetailDto : assetImportLogDetailDtos) {
            if (!assetImportLogDetailDto.getMessage().equals("待导入")){
                continue;
            }
            JSONObject jsonObject = JSONObject.parseObject(assetImportLogDetailDto.getContent());
            if (jsonObject.containsKey("frequency")){
                if (jsonObject.getString("frequency").contains("退费-") && !jsonObject.getString("frequency").contains("被退费-")){
                    String invoce =  jsonObject.getString("frequency").split("-")[1];
                    for (AssetImportLogDetailDto ass : assetImportLogDetailDtos){
                        if (JSONObject.parseObject(ass.getContent()).getString("invoiceReceiptNo").equals(invoce)){
                            try {
                                assetImportLogDetailDto.setTakeTime(communityDtos.get(0).getTakeTime());
                                assetImportLogDetailDto.setOutTime(communityDtos.get(0).getOutTime());
                                assetImportLogDetailDto.setState("1300");
                                importDatas(assetImportLogDetailDto);
                                updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
                            } catch (Exception e) {
                                e.printStackTrace();
                                updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
                            }
                            try {
                                ass.setTakeTime(communityDtos.get(0).getTakeTime());
                                ass.setOutTime(communityDtos.get(0).getOutTime());
                                ass.setState("1100");
                                importDatas(ass);
                                updateImportLogDetailState(ass.getDetailId());
                            } catch (Exception e) {
                                e.printStackTrace();
                                updateImportLogDetailState(ass.getDetailId(), e);
                            }
                            break;
                        }
                    }
                    continue;
                }
            }
            try {
                assetImportLogDetailDto.setTakeTime(communityDtos.get(0).getTakeTime());
                assetImportLogDetailDto.setOutTime(communityDtos.get(0).getOutTime());
                String invoce = "退费-"+JSONObject.parseObject(assetImportLogDetailDto.getContent()).getString("invoiceReceiptNo");
                if (invoiceObjects.contains(invoce)){
                    continue;
                }
                importDatas(assetImportLogDetailDto);
                updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
            } catch (Exception e) {
@@ -153,6 +200,12 @@
        String communityId = assetImportLogDetailDto.getCommunityId();
        JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
        ImportRoomFee importRoomFee = BeanConvertUtil.covertBean(data, ImportRoomFee.class);
        if (assetImportLogDetailDto.getState().equals("1100") || assetImportLogDetailDto.getState().equals("1300")) {
            importRoomFee.setState(assetImportLogDetailDto.getState());
        }
        if (importRoomFee.getFrequency()==null) {
            importRoomFee.setFrequency("正常费用");
        }
//        if (DateUtil.getDateFromStringB(data.getString("chargeStart").split(" ")[0]).getTime() <= DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]).getTime()){
//            throw new IllegalStateException("该费用为起始时间小于小区接管时间不进行导入");
//        }
@@ -288,7 +341,7 @@
        try{
            if(!(ListUtil.isNull(importRoomFees))){
                if (DateUtil.getDateFromStringB(data.getString("chargeStart").split(" ")[0]).getTime() <= DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]).getTime()){
                if (DateUtil.getDateFromStringB(data.getString("chargeStart").split(" ")[0]).getTime() < DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]).getTime() && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300")){
                    ImportRoomFee original = importRoomFees.get(0);
                    ImportRoomFee importRoomFee1 = (ImportRoomFee) original.clone(); // 克隆新对象
                    ImportRoomFee importRoomFee2 = (ImportRoomFee) original.clone(); // 克隆另一个新对象
@@ -316,6 +369,8 @@
                    importRoomFees.add(importRoomFee1);
                    importRoomFees.add(importRoomFee2);
                }
//                ImportRoomFee importRoomFeeLast = importRoomFees.get(importRoomFees.size()-1);
//                if (DateUtil.getDateFromStringB(data.getString("chargeEnd").split(" ")[0]).getTime() < DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime().split(" ")[0]).getTime() && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300"))
                importFeeDetails(importRoomFees.get(0).getStoreId(), importRoomFees.get(0).getUserId(), importRoomFees, importRoomFees.get(0).getBatchId());
            }
            if(!(ListUtil.isNull(importCarFees))){
@@ -455,6 +510,10 @@
     */
    private void importFeeDetail(ImportRoomFee importRoomFee, String storeId, String userId, String batchId) {
        if (importRoomFee.getState() == null){
            importRoomFee.setState("1400");
        }
        FeeDto feeDto2 = new FeeDto();
        feeDto2.setUseFeeName(importRoomFee.getFeeName());
        if (importRoomFee.getObjType() == null||importRoomFee.getObjType().equals("3333")){
@@ -517,70 +576,26 @@
            }
        }
        feeDto2.setCommunityId(importRoomFee.getCommunityId());
        if (new BigDecimal(importRoomFee.getAmount()).doubleValue() >= 0 && !importRoomFee.getState().equals("1600")){
        if (importRoomFee.getState().equals("1100") || importRoomFee.getState().equals("1300") || importRoomFee.getState().equals("1600")) {
        }
        else {
            feeDto2.setStatusCd("0");
            feeDto2.setUseStart(DateUtil.getDateFromStringA(importRoomFee.getStartTime()));
            feeDto2.setUseEnd(DateUtil.getDateFromStringA(importRoomFee.getEndTime()));
        }
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto2);
        if (new BigDecimal(importRoomFee.getAmount()).doubleValue() >= 0) {
        if (!(importRoomFee.getFrequency().equals("退费"))) {
            feeDtos.removeIf(feeDto -> "2009001".equals(feeDto.getState()));
        }
        if(feeDtos.size() == 0 && !importRoomFee.getState().equals("1600")){
        if(feeDtos.size() == 0 && (importRoomFee.getState() == null || !importRoomFee.getState().equals("1600"))){
            updateImportLogDetailState(importRoomFee.getDetailId(),new IllegalArgumentException("费用项"+importRoomFee.getFeeName()+"不存在"));
            throw new IllegalArgumentException("费用记录"+importRoomFee.getFeeName()+"不存在");
        }else if(feeDtos.size() > 1){
            throw new IllegalArgumentException("存在多条记录");
        }
//        if (ListUtil.isNull(feeDtos)) {
//            throw new IllegalArgumentException("查询不到该记录的费用项:"+importRoomFee.getFeeName());
//            List<FeeAttrPo> feeAttrsPos = new ArrayList<>();
//            PayFeePo payFeePo = new PayFeePo();
//            payFeePo.setCommunityId(importRoomFee.getCommunityId());
//            payFeePo.setConfigId(feeDto.getConfigId());
//            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
//            payFeePo.setStartTime(importRoomFee.getStartTime());
//            payFeePo.setEndTime(DateUtil.getNextSecTime(importRoomFee.getEndTime()));
//            payFeePo.setAmount(importRoomFee.getAmount());
//            payFeePo.setFeeFlag(tmpFeeConfigDto.getFeeFlag());
//            payFeePo.setFeeTypeCd(tmpFeeConfigDto.getFeeTypeCd());
//            payFeePo.setIncomeObjId(storeId);
//            payFeePo.setBatchId(batchId);
//            if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeConfigDto.getFeeFlag())) {
//                payFeePo.setState(FeeDto.STATE_FINISH);
//            } else {
//                payFeePo.setState(FeeDto.STATE_DOING);
//            }
//            payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
//            payFeePo.setPayerObjId(importRoomFee.getRoomId());
//            payFeePo.setUserId(userId);
//            payFeePo.setCreateTime(importRoomFee.getCreateTime());
//            payFeePos = new ArrayList<>();
//            payFeePos.add(payFeePo);
//            feeInnerServiceSMOImpl.saveFee(payFeePos);
//
//            //查询业主信息
//            OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
//            ownerRoomRelDto.setRoomId(importRoomFee.getRoomId());
//            List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
//            if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() > 0) {
//                if (!FeeDto.FEE_FLAG_CYCLE.equals(tmpFeeConfigDto.getFeeFlag())) {
//                    feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME,
//                            importRoomFee.getEndTime()));
//                }
//                feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_ID, ownerRoomRelDtos.get(0).getOwnerId()));
//                feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_LINK, ownerRoomRelDtos.get(0).getLink()));
//                feeAttrsPos.add(addFeeAttr(payFeePo, FeeAttrDto.SPEC_CD_OWNER_NAME, ownerRoomRelDtos.get(0).getOwnerName()));
//                feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrsPos);
//            }
//
//
//            feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
//        }
        if(feeDtos.size() > 1){
            throw new IllegalArgumentException(importRoomFee.getDoorRoomNum() +importRoomFee.getFeeName() + "+" + importRoomFee.getStartTime() + "-" + importRoomFee.getEndTime() + "未匹配到收费项");
        }
        for (FeeDto tmpFeeDto : feeDtos) {
            if(DateUtil.getDateFromStringB(importRoomFee.getEndTime()).getTime() > tmpFeeDto.getMaxEndTime().getTime()){
                throw new IllegalArgumentException("该费用记录结束时间大于费用记录最大缴费时间");
@@ -624,17 +639,22 @@
        payFeeDetailPo.setCashierName(importRoomFee.getStaffName());
        payFeeDetailPo.setPayOrderId(importRoomFee.getPayObjId());
        payFeeDetailPo.setB("T");
        double cycle = (DateUtil.dayCompare(
                DateUtil.getDateFromStringA(payFeeDetailPo.getStartTime()),
                DateUtil.getDateFromStringA(importRoomFee.getEndTime())
        ));
        if (new BigDecimal(payFeeDetailPo.getReceivedAmount()).doubleValue() < 0){
            cycle = cycle - cycle - cycle;
            payFeeDetailPo.setState("1300");
        double cycle = 0;
        if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())){
            cycle = 1;
        }
        else{
            cycle = (DateUtil.dayCompare(
                    DateUtil.getDateFromStringA(payFeeDetailPo.getStartTime()),
                    DateUtil.getDateFromStringA(importRoomFee.getEndTime())
            ));
        }
        if (importRoomFee.getState() != null){
            payFeeDetailPo.setState(importRoomFee.getState());
        }
        if (importRoomFee.getState().equals("1300")){
            cycle = 0 - cycle;
        }
        int count = feeDetailInnerServiceSMOImpl.queryFeeDetailsCountByVo(payFeeDetailPo);
@@ -645,22 +665,27 @@
        payFeeDetailPo.setCycles(cycle+"");
        payFeeDetailPo.setEndTime(importRoomFee.getEndTime());
        if (count > 0) {
            throw new IllegalStateException("重复的缴费记录");
        }
        if (new BigDecimal(payFeeDetailPo.getPayableAmount()).doubleValue() < 0) {
            payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
            double v = computeFeeByCycle(tmpFeeDto, importRoomFee);
            if (v > 0) {
                v = v - 2 * v;
            }
            payFeeDetailPo.setReceivableAmount(v+"");
            payFeeDetailPo.setDiscountAmount("0");
            payFeeDetailPo.setState("1300");
            int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
            return;
        } else if (importRoomFee.getState().equals("1600")){
//        if (importRoomFee.getFrequency().equals("退费")) {
//            payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
//            double v = computeFeeByCycle(tmpFeeDto, importRoomFee);
//            if (v > 0) {
//                v = v - 2 * v;
//            }
//            payFeeDetailPo.setReceivableAmount(v+"");
//            payFeeDetailPo.setDiscountAmount("0");
//            payFeeDetailPo.setState("1300");
//            int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
//
//            PayFeePo payFeePo = new PayFeePo();
//            payFeePo.setFeeId(payFeeDetailPo.getFeeId());
//            payFeePo.setEndTime(importRoomFee.getStartTime());
//            feeInnerServiceSMOImpl.updateFee(payFeePo);
//            return;
//        } else
            if (importRoomFee.getState() != null && importRoomFee.getState().equals("1600")){
            payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
            payFeeDetailPo.setReceivableAmount(computeFeeByCycle(tmpFeeDto,importRoomFee)+"");
            payFeeDetailPo.setDiscountAmount("0");
@@ -670,11 +695,11 @@
        PayFeeDetailDiscountPo payFeeDetailDiscount = new PayFeeDetailDiscountPo();
        try {
            Map feePriceAll = computeFeeSMOImpl.getFeePrice(tmpFeeDto);
//            Map feePriceAll = computeFeeSMOImpl.getFeePrice(tmpFeeDto);
            FeeDto feeDto = new FeeDto();
            feeDto.setFeeId(tmpFeeDto.getFeeId());
            feeDto.setCommunityId(tmpFeeDto.getCommunityId());
            List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
//            List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
            payFeeDetailPo.setReceivableAmount(computeFeeByCycle(tmpFeeDto,importRoomFee)+"");
            ResponseEntity<String> resultVo = feeDiscountApi.computeFeeDiscount(tmpFeeDto.getFeeId(), tmpFeeDto.getCommunityId(), 105, importRoomFee.getPayObjId(),
                    tmpFeeDto.getPayerObjType(), importRoomFee.getEndTime(), importRoomFee.getEndTime(), importRoomFee.getStartTime(), 1, 20);
@@ -702,6 +727,10 @@
        payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
        if (importRoomFee.getState() != null && importRoomFee.getState().equals("1300")){
            payFeeDetailPo.setReceivableAmount("-"+payFeeDetailPo.getReceivableAmount());
        }
        int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
@@ -732,7 +761,7 @@
//        int i = feeInnerServiceSMOImpl.updateFee(feeInfo);
        if (tmpFeeDto.getEndTime().getTime() >= DateUtil.getDateFromStringA(importRoomFee.getEndTime()).getTime()  + 2000) {
        if (tmpFeeDto.getEndTime().getTime() >= DateUtil.getDateFromStringA(importRoomFee.getEndTime()).getTime()  + 2000 || (importRoomFee.getState().equals("1100") || importRoomFee.getState().equals("1300"))) {
            return;
        }
@@ -777,11 +806,12 @@
        feeInnerServiceSMOImpl.updateFee(payFeePo);
        feeInfo = feeInnerServiceSMOImpl.queryFees(fee).get(0);
        if (importRoomFee.getEndTime().split(" ")[0].equals(DateUtil.getFormatTimeStringB(feeInfo.getMaxEndTime()))) {
            Date deadlineTime = feeInfo.getDeadlineTime();
            feeInfo.setDeadlineTime(DateUtil.getDateFromStringA(importRoomFee.getEndTime()));
            calculateFeeSMOImpl.computeOweFee(feeInfo);
            feeInfo.setDeadlineTime(deadlineTime);
            double computeFee = Double.parseDouble(feeInfo.getAmountOwed());
//            Date deadlineTime = feeInfo.getDeadlineTime();
//            feeInfo.setDeadlineTime(DateUtil.getDateFromStringA(importRoomFee.getEndTime()));
//            calculateFeeSMOImpl.computeOweFee(feeInfo);
//            feeInfo.setDeadlineTime(deadlineTime);
//            double computeFee = Double.parseDouble(feeInfo.getAmountOwed());
            double computeFee = computeFee(feeInfo,importRoomFee);
            if(computeFee <= 1 && computeFee >= -1){
                PayFeePo payFee = new PayFeePo();
                payFee.setFeeId(feeInfo.getFeeId());
@@ -811,6 +841,9 @@
                fee.getStartTime(),
                DateUtil.getDateFromStringA(DateUtil.getFormatTimeStringB(fee.getMaxEndTime()).split(" ")[0]+" 23:59:59")
        ));
        if(feeDto.getFeeFlag().equals(FeeDto.FEE_FLAG_ONCE)){
            month = 1;
        }
        Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDto);
        //todo 计算应收
        BigDecimal receivableAmount = new BigDecimal(feePriceAll.get("feePrice").toString());
@@ -844,10 +877,13 @@
                DateUtil.getDateFromStringA(importRoomFee.getStartTime()),
                DateUtil.getDateFromStringA(importRoomFee.getEndTime().split(" ")[0] + " 23:59:59")
        ));
        Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDto);
        if(feeDto.getFeeFlag().equals(FeeDto.FEE_FLAG_ONCE)){
            return Double.parseDouble(feePriceAll.get("feePrice").toString());
            month = 1;
        }
        Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDto);
//        if(feeDto.getFeeFlag().equals(FeeDto.FEE_FLAG_ONCE)){
//            return Double.parseDouble(feePriceAll.get("feePrice").toString());
//        }
        //todo 计算应收
        BigDecimal receivableAmount = new BigDecimal(feePriceAll.get("feePrice").toString());
        BigDecimal cycles = new BigDecimal(month);
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java
@@ -45,6 +45,19 @@
                updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
            }
        }
        PropertyWhiteListFlowDto propertyWhiteListFlowDto = new PropertyWhiteListFlowDto();
        propertyWhiteListFlowDto.setFrequencyLike("退费-");
        List<PropertyWhiteListFlowDto> propertyWhiteListFlowDtos = importPropertyWhiteListfFlowServiceSMOImpl.queryPropertyWhiteListFlow(propertyWhiteListFlowDto);
        for (PropertyWhiteListFlowDto propertyWhiteListFlowDto1 : propertyWhiteListFlowDtos) {
            PropertyWhiteListFlowDto propertyWhiteListFlowDto2 = new PropertyWhiteListFlowDto();
            propertyWhiteListFlowDto2.setInvoiceReceiptNo(propertyWhiteListFlowDto1.getFrequency().split("-")[1]);
            propertyWhiteListFlowDto2.setCommunityId(propertyWhiteListFlowDto1.getCommunityId());
            List<PropertyWhiteListFlowDto> propertyWhiteListFlowDtos1 = importPropertyWhiteListfFlowServiceSMOImpl.queryPropertyWhiteListFlow(propertyWhiteListFlowDto2);
            if (propertyWhiteListFlowDtos1.size() != 0) {
                propertyWhiteListFlowDtos1.get(0).setFrequency("被退费-"+propertyWhiteListFlowDto2.getInvoiceReceiptNo());
                importPropertyWhiteListfFlowServiceSMOImpl.updatePropertyWhiteListFlow(propertyWhiteListFlowDtos1.get(0));
            }
        }
    }
springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: devlocal
    active: debug
import:
  line: