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.ImportRoomFee;
import com.java110.dto.importData.ParkingFeeRecord;
import com.java110.dto.system.ComponentValidateResult;
import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
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 org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 历史缴费数据导入
*
* 导入请求参数中必须包含
* param.append('importAdapt', "importCarHistoryFeeDetail");
*
* vc.http.upload(
* 'assetImport',
* 'importData',
* param, {
* emulateJSON: true,
* //添加请求头
* headers: {
* "Content-Type": "multipart/form-data"
* }
* },
* function(json, res) {
* //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
* let _json = JSON.parse(json);
* if (_json.code == 0) {
* //关闭model
* // vc.toast(_json.data);
* $('#importOwnerRoomModel').modal('hide');
* $that.clearAddFeeConfigInfo();
*
* vc.jumpToPage('/#/pages/property/assetImportLogDetail?logId=' + _json.data.logId + '&logType=importCarHistoryFeeDetail');
* return;
* }
* vc.toast(_json.msg, 10000);
* },
* function(errInfo, error) {
* console.log('请求失败处理');
* vc.toast(errInfo, 10000);
* });
*/
@Service("importCarHistoryFeeDetailV2DataCleaning")
public class ImportCarHistoryFeeDetailV2DataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt {
@Autowired
private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
@Autowired
private IUserInnerServiceSMO userInnerServiceSMOImpl;
@Override
public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception {
generatorBatch(paramIn);
List rooms = new ArrayList();
//获取车辆信息
getCars(workbook, rooms);
for (ImportRoomFee importRoomFee : rooms) {
importRoomFee.setBatchId(paramIn.getString("batchId"));
importRoomFee.setUserId(paramIn.getString("userId"));
importRoomFee.setStoreId(paramIn.getString("storeId"));
importRoomFee.setObjType(paramIn.getString("objType"));
importRoomFee.setCommunityId(paramIn.getString("communityId"));
}
return rooms;
}
private void getCars(Workbook workbook, List rooms) {
// 1. 指定读取的sheet名称:临时停车费 导入模板
Sheet sheet = ImportExcelUtils.getSheet(workbook, "临时停车费 导入模板");
if (sheet == null) {
throw new IllegalArgumentException("未找到名称为【临时停车费 导入模板】的工作表");
}
// 2. 读取sheet中所有行数据
List