package com.java110.api.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.api.importData.DefaultImportDataAdapt; import com.java110.api.importData.IImportDataCleaningAdapt; import com.java110.dto.importData.ImportOwnerRoomDto; import com.java110.dto.owner.OwnerDto; import com.java110.dto.room.RoomDto; import com.java110.dto.system.ComponentValidateResult; import com.java110.utils.util.Assert; import com.java110.utils.util.ImportExcelUtils; import com.java110.utils.util.StringUtil; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.stereotype.Service; import java.text.ParseException; import java.util.ArrayList; import java.util.List; /** * 房产数据导入处理类 * * 导入请求参数中必须包含 * param.append('importAdapt', "importRoomOwner"); */ @Service("importRoomOwnerV2DataCleaning") public class ImportRoomOwnerDataV2CleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt { @Override public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception{ List ownerRooms = new ArrayList(); //封装对象 getOwnerRooms(workbook, ownerRooms, result); return ownerRooms; } /** * 获取业主车辆信息 * * @param workbook * @param ownerRoomDtos */ private void getOwnerRooms(Workbook workbook, List ownerRoomDtos, ComponentValidateResult result) throws ParseException { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "住宅物业费 导入新模板"); List oList = ImportExcelUtils.listFromSheet(sheet); ImportOwnerRoomDto importOwnerRoomDto = null; for (int osIndex = 0; osIndex < oList.size(); osIndex++) { if (osIndex < 8) { continue; } if (oList.get(osIndex)[0] == null) { break; } Object[] os = new Object[168]; System.arraycopy(oList.get(osIndex), 0, os, 0, oList.get(osIndex).length); Assert.hasValue(os[3], (osIndex + 1) + "行项目编码不能为空"); Assert.hasValue(os[5], (osIndex + 1) + "行路不能为空"); Assert.hasValue(os[7], (osIndex + 1) + "行门号不能为空"); Assert.hasValue(os[8], (osIndex + 1) + "行室号不能为空"); Assert.hasValue(os[9], (osIndex + 1) + "行门室号不能为空"); Assert.hasValue(os[10], (osIndex + 1) + "行业主地址不能为空"); Assert.hasValue(os[16], (osIndex + 1) + "行住宅面积不能为空"); os[167] = result.getUserId(); ownerRoomDtos.add(os); } sheet = ImportExcelUtils.getSheet(workbook, " 商铺物业费 导入新模板"); oList = ImportExcelUtils.listFromSheet(sheet); for (int osIndex = 0; osIndex < oList.size(); osIndex++) { if (osIndex < 8) { continue; } if (oList.get(osIndex)[0] == null) { break; } Object[] os = new Object[168]; System.arraycopy(oList.get(osIndex), 0, os, 0, oList.get(osIndex).length); Assert.hasValue(os[3], (osIndex + 1) + "行项目编码不能为空"); Assert.hasValue(os[5], (osIndex + 1) + "行路不能为空"); Assert.hasValue(os[7], (osIndex + 1) + "行门号不能为空"); Assert.hasValue(os[8], (osIndex + 1) + "行室号不能为空"); Assert.hasValue(os[9], (osIndex + 1) + "行门室号不能为空"); Assert.hasValue(os[10], (osIndex + 1) + "行业主地址不能为空"); Assert.hasValue(os[16], (osIndex + 1) + "行住宅面积不能为空"); os[167] = result.getUserId(); ownerRoomDtos.add(os); } } }