chengf
2026-01-30 b8bf2507bc7b23c90bc6dc71ea2460e277d3800a
service-api/src/main/java/com/java110/api/importData/adapt/ImportMeterWaterFeeV2DataCleaningAdapt.java
@@ -14,10 +14,7 @@
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.po.meter.MeterWaterPo;
import com.java110.po.payFee.PayFeeAuditPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ImportExcelUtils;
import com.java110.utils.util.StringUtil;
import com.java110.utils.util.*;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +24,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 水电抄表
@@ -47,7 +45,7 @@
    @Override
    public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception {
        List<MeterWaterPo> meterWaterPoList = new ArrayList<MeterWaterPo>();
        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(new CommunityDto());
        List<Map<String, Object>> maps = BeanConvertUtil.beanCovertMapListC(communityInnerServiceSMOImpl.queryCommunitys(new CommunityDto()));
        Sheet sheet = null;
@@ -63,7 +61,7 @@
            }
            MeterWaterPo po = new MeterWaterPo();
            setCommunityId(po, os);
            setCommunityId(po, os, maps);
            po.setbId("-1");
            po.setMeterType(Vtil.defaultValue(os[7]));
            po.setObjType("3333");
@@ -136,17 +134,25 @@
        po.setObjName(po.getRoadName() + "-" + po.getFloorNum() + "-" + po.getUnitNum() + "-" + po.getRoomNum());
    }
    public void setCommunityId(MeterWaterPo po, Object[] os) {
        CommunityDto d = new CommunityDto();
        d.setCommunityCode(Vtil.defaultValue(os[0]));
        d.setName(Vtil.defaultValue(os[1]));
        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(d);
        if (communityDtos.isEmpty()) {
            throw new IllegalArgumentException("未查询到小区:" + d.getCommunityCode() + d.getName());
    public void setCommunityId(MeterWaterPo po, Object[] os, List<Map<String, Object>> maps) {
        for (Map<String, Object> map : maps) {
            if (ValueUtil.defaultValue(os[0]).isEmpty()) {
                if (ValueUtil.defaultValue(os[1]).equals(map.get("name"))) {
                    po.setCommunityId(map.get("communityId").toString());
                    return;
                }
            } else if (ValueUtil.defaultValue(os[1]).isEmpty()){
                if (ValueUtil.defaultValue(os[0]).equals(map.get("communityCode"))) {
                    po.setCommunityId(map.get("communityId").toString());
                    return;
                }
            } else {
                if (ValueUtil.defaultValue(os[0]).equals(map.get("communityCode")) && ValueUtil.defaultValue(os[1]).equals(map.get("name"))) {
                    po.setCommunityId(map.get("communityId").toString());
                    return;
                }
            }
        }
        else if (communityDtos.size() > 1) {
            throw new IllegalArgumentException("查询小区异常:存在多个符合条件的小区:" + d.getCommunityCode() + d.getName());
        }
        po.setCommunityId(communityDtos.get(0).getCommunityId());
        throw new IllegalArgumentException("未查询到小区:" + Vtil.appendHyphenToRight(ValueUtil.defaultValue(os[0])) + ValueUtil.defaultValue(os[1]));
    }
}