chengf
2025-09-15 ebf6117ccea680eae81a91f2fa355ce3a76eb621
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomHistoryFeeDetailQueueDataAdapt.java
@@ -20,6 +20,7 @@
import com.java110.utils.constant.StatusConstant;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ListUtil;
import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -77,11 +78,13 @@
            importRoomFees.add(importRoomFee);
        }
        if (importRoomFees.size() < 1) {
        if (ListUtil.isNull(importRoomFees)) {
            return;
        }
        importFeeDetails(importRoomFees.get(0).getStoreId(), importRoomFees.get(0).getUserId(), importRoomFees, importRoomFees.get(0).getBatchId());
    }
@@ -89,7 +92,16 @@
    private void importFeeDetails(String storeId, String userId, List<ImportRoomFee> importRoomFees, String batchId) {
        importRoomFees = roomInnerServiceSMOImpl.freshRoomIds(importRoomFees);
        String endTime = "";
        for (ImportRoomFee importRoomFee : importRoomFees) {
            endTime = importRoomFee.getEndTime();
            if (!endTime.contains(":")) {
                endTime += " 23:59:59";
                importRoomFee.setEndTime(endTime);
            }
            try {
                if (StringUtil.isEmpty(importRoomFee.getRoomId())) {
                    continue;
@@ -115,7 +127,7 @@
        feeConfigDto.setCommunityId(importRoomFee.getCommunityId());
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
        if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
        if (ListUtil.isNull(feeConfigDtos)) {
            return;
        }
@@ -129,14 +141,14 @@
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        List<PayFeePo> payFeePos = null;
        if (feeDtos == null || feeDtos.size() < 1) {
        if (ListUtil.isNull(feeDtos)) {
            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(importRoomFee.getEndTime());
            payFeePo.setEndTime(DateUtil.getNextSecTime(importRoomFee.getEndTime()));
            payFeePo.setAmount(importRoomFee.getAmount());
            payFeePo.setFeeFlag(tmpFeeConfigDto.getFeeFlag());
            payFeePo.setFeeTypeCd(tmpFeeConfigDto.getFeeTypeCd());
@@ -198,25 +210,17 @@
        PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
        payFeeDetailPo.setCommunityId(importRoomFee.getCommunityId());
        payFeeDetailPo.setReceivedAmount(importRoomFee.getAmount());
        payFeeDetailPo.setReceivableAmount(importRoomFee.getAmount());
        payFeeDetailPo.setReceivableAmount(importRoomFee.getReceivableAmount());
        payFeeDetailPo.setCycles(importRoomFee.getCycle());
        payFeeDetailPo.setPrimeRate("1.0");
        payFeeDetailPo.setFeeId(tmpFeeDto.getFeeId());
        payFeeDetailPo.setStartTime(importRoomFee.getStartTime());
        String endTime = importRoomFee.getEndTime();
        //todo 周期性费用时时间自动加一天,因为物业统计的Excel 一般少一天
        if (!FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(DateUtil.getDateFromStringB(endTime));
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            endTime = DateUtil.getFormatTimeStringB(calendar.getTime());
            importRoomFee.setEndTime(endTime);
        }
        payFeeDetailPo.setEndTime(importRoomFee.getEndTime());
        payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
        payFeeDetailPo.setRemark(importRoomFee.getRemark());
        payFeeDetailPo.setCreateTime(importRoomFee.getCreateTime());
        payFeeDetailPo.setState("1400");
        payFeeDetailPo.setCashierName(importRoomFee.getStaffName());
        payFeeDetailPo.setPayableAmount(importRoomFee.getAmount());
        int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
@@ -233,7 +237,7 @@
        payFeePo.setCommunityId(importRoomFee.getCommunityId());
        payFeePo.setStatusCd(StatusConstant.STATUS_CD_VALID);
        payFeePo.setFeeId(tmpFeeDto.getFeeId());
        payFeePo.setEndTime(importRoomFee.getEndTime());
        payFeePo.setEndTime(DateUtil.getNextSecTime(importRoomFee.getEndTime()));
        if (FeeDto.FEE_FLAG_ONCE.equals(tmpFeeDto.getFeeFlag())) {
            payFeePo.setState(FeeDto.STATE_FINISH);
        }