package com.java110.api.smo.assetImport.impl;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.java110.api.smo.DefaultAbstractComponentSMO;
|
import com.java110.api.smo.assetImport.IImportResourceStoreSMO;
|
import com.java110.core.context.IPageData;
|
import com.java110.core.factory.GenerateCodeFactory;
|
import com.java110.core.log.LoggerFactory;
|
import com.java110.dto.importData.ImportOwnerRoomDto;
|
import com.java110.dto.importData.ImportResourceStoreDto;
|
import com.java110.dto.importData.Vtil;
|
import com.java110.dto.purchase.PurchaseApplyDto;
|
import com.java110.dto.resource.ResourceStoreTypeDto;
|
import com.java110.dto.store.StorehouseDto;
|
import com.java110.dto.system.ComponentValidateResult;
|
import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO;
|
import com.java110.intf.store.IPurchaseApplyDetailInnerServiceSMO;
|
import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
|
import com.java110.intf.store.IResourceStoreTypeInnerServiceSMO;
|
import com.java110.intf.store.IStorehouseV1InnerServiceSMO;
|
import com.java110.po.purchase.*;
|
import com.java110.po.resource.ResourceStoreTypePo;
|
import com.java110.po.store.StorehousePo;
|
import com.java110.utils.exception.CmdException;
|
import com.java110.utils.util.Assert;
|
import com.java110.utils.util.BeanConvertUtil;
|
import com.java110.utils.util.ImportExcelUtils;
|
import com.java110.utils.util.StringUtil;
|
import com.java110.vo.ResultVo;
|
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.Workbook;
|
import org.mybatis.spring.SqlSessionTemplate;
|
import org.slf4j.Logger;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpStatus;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.text.ParseException;
|
import java.util.*;
|
|
//@Service("importResourceStoreSMOImpl")
|
public class ImportResourceStoreV2SMOImpl extends DefaultAbstractComponentSMO implements IImportResourceStoreSMO {
|
|
private final static Logger logger = LoggerFactory.getLogger(ImportResourceStoreV2SMOImpl.class);
|
|
public static final int DEFAULT_ROWS = 500;
|
|
@Autowired
|
private RestTemplate restTemplate;
|
|
@Autowired
|
private IImportOwnerRoomInnerServiceSMO importOwnerRoomInnerServiceSMOImpl;
|
|
@Autowired
|
private IStorehouseV1InnerServiceSMO storehouseV1InnerServiceSMOImpl;
|
|
@Autowired
|
private IResourceStoreTypeInnerServiceSMO resourceStoreTypeInnerServiceSMOImpl;
|
|
@Autowired
|
private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
|
|
@Autowired
|
private SqlSessionTemplate sqlSessionTemplate;
|
|
|
public static final String CODE_PREFIX_ID = "10";
|
|
@Override
|
public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
|
try {
|
ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
|
//InputStream is = uploadFile.getInputStream();
|
Workbook workbook = ImportExcelUtils.createWorkbook(uploadFile); //工作簿
|
List<ImportResourceStoreDto> resourceStoreDtos = new ArrayList<ImportResourceStoreDto>();
|
//封装对象
|
getResourceStores(workbook, resourceStoreDtos, result);
|
|
// 保存数据
|
return dealExcelData(pd, resourceStoreDtos, result);
|
} catch (Exception e) {
|
logger.error("导入失败 ", e);
|
return new ResponseEntity<String>("非常抱歉,您填写的模板数据有误:" + e.getMessage(), HttpStatus.BAD_REQUEST);
|
}
|
}
|
|
|
/**
|
* 获取业主车辆信息
|
*
|
* @param workbook
|
* @param resourceStoreDtos
|
*/
|
private void getResourceStores(Workbook workbook, List<ImportResourceStoreDto> resourceStoreDtos, ComponentValidateResult result) throws ParseException {
|
Sheet sheet = null;
|
sheet = ImportExcelUtils.getSheet(workbook, "客服-零星维修采购");
|
List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
|
ImportResourceStoreDto resourceStoreDto = null;
|
for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
|
|
Object[] os = oList.get(osIndex);
|
|
if (osIndex == 0 || osIndex == 1) { // 第一行是 头部信息 直接跳过
|
continue;
|
}
|
if (os == null || StringUtil.isNullOrNone(os[0])) {
|
continue;
|
}
|
resourceStoreDto = new ImportResourceStoreDto();
|
resourceStoreDto.setWarningStock("0");
|
resourceStoreDto.setIsFixed("Y");
|
resourceStoreDto.setResId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_resId));
|
try {
|
resourceStoreDto.setCommunityId(result.getCommunityId());
|
resourceStoreDto.setResCode(Vtil.defaultValue(os[1]));
|
resourceStoreDto.setTripleWaybillNo(Vtil.defaultValue(os[2]));
|
resourceStoreDto.setCommunityName(Vtil.defaultValue(os[3]));
|
resourceStoreDto.setRstName(Vtil.defaultValue(os[4], "未分类"));
|
resourceStoreDto.setSystemName(Vtil.defaultValue(os[5]));
|
resourceStoreDto.setResName(Vtil.defaultValue(os[6], "空"));
|
resourceStoreDto.setModel(Vtil.defaultValue(os[7]));
|
resourceStoreDto.setBrand(Vtil.defaultValue(os[8]));
|
resourceStoreDto.setSupplier(Vtil.defaultValue(os[9]));
|
resourceStoreDto.setUnitCode(Vtil.defaultValue(os[10]));
|
resourceStoreDto.setBudgetApproval(Vtil.defaultValue(os[11]));
|
resourceStoreDto.setStock(Vtil.defaultValue(os[12]));
|
resourceStoreDto.setBudgetQuantity(Vtil.defaultValue(os[12]));
|
resourceStoreDto.setPrice(Vtil.defaultValue(os[13]));
|
resourceStoreDto.setBudgetUnitPrice(Vtil.defaultValue(os[13]));
|
resourceStoreDto.setBudgetAmount(Vtil.defaultValue(os[14]));
|
resourceStoreDto.setApplyQuantityTotal(Vtil.defaultValue(os[15]));
|
resourceStoreDto.setPurchaseQuantityTotal(Vtil.defaultValue(os[16]));
|
resourceStoreDto.setActualDeliveryQuantity(Vtil.defaultValue(os[17]));
|
resourceStoreDto.setPayableAmountTotal(Vtil.defaultValue(os[18]));
|
resourceStoreDto.setPaidAmountTotal(Vtil.defaultValue(os[19]));
|
resourceStoreDto.setUnpaidAmountTotal(Vtil.defaultValue(os[20]));
|
resourceStoreDto.setIsOccurred(Vtil.defaultValue(os[21]));
|
|
|
|
|
|
List<DeliveryStorageRecord> deliveryStorageRecords = new ArrayList<>();
|
|
if (true) {
|
PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo();
|
purchaseApplyPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
|
purchaseApplyPo.setApplyNo(Vtil.defaultValue(os[22]));
|
purchaseApplyPo.setApplyDate(Vtil.defaultValue(os[23]));
|
purchaseApplyPo.setApplyQuantity(Vtil.defaultValue(os[24]));
|
purchaseApplyPo.setUserName(Vtil.defaultValue(os[25]));
|
purchaseApplyPo.setApprover(Vtil.defaultValue(os[26]));
|
purchaseApplyPo.setResOrderType("10000");
|
purchaseApplyPo.setStoreId(result.getStoreId());
|
purchaseApplyPo.setCreateUserId(result.getUserId());
|
purchaseApplyPo.setCreateUserName(result.getUserName());
|
purchaseApplyPo.setEndUserName(result.getUserName());
|
purchaseApplyPo.setDescription("导入内容");
|
purchaseApplyPo.setWarehousingWay("10000");
|
purchaseApplyInnerServiceSMOImpl.savePurchaseApply(purchaseApplyPo);
|
|
PurchaseApplyDetailPo purchaseApplyDetailPo = new PurchaseApplyDetailPo();
|
purchaseApplyDetailPo.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
|
purchaseApplyDetailPo.setResId(resourceStoreDto.getResId());
|
purchaseApplyDetailPo.setFirstCumulativePurchaseQuantity(Vtil.defaultValue(os[27]));
|
purchaseApplyDetailPo.setPurchaseDate(Vtil.defaultValue(os[28]));
|
purchaseApplyDetailPo.setPurchaseQuantity(Vtil.defaultValue(os[29]));
|
purchaseApplyDetailPo.setQuantity(Vtil.defaultValue(os[29],"0"));
|
purchaseApplyDetailPo.setPrice(Vtil.defaultValue(os[30]));
|
purchaseApplyDetailPo.setConsultPrice(Vtil.defaultValue(os[30]));
|
purchaseApplyDetailPo.setPurchaseAmount(Vtil.defaultValue(os[31]));
|
purchaseApplyDetailPo.setPurchaser(Vtil.defaultValue(os[32]));
|
purchaseApplyDetailPo.setContractNo(Vtil.defaultValue(os[33]));
|
purchaseApplyDetailPo.setSupplier(Vtil.defaultValue(os[34]));
|
purchaseApplyDetailPo.setFirstCumulativeDeliveryQuantity(Vtil.defaultValue(os[35]));
|
purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId());
|
|
List<PurchaseApplyDetailPo> list = new ArrayList<>();
|
list.add(purchaseApplyDetailPo);
|
Map<String, Object> paramMap = new HashMap<>();
|
paramMap.put("list", list);
|
|
// 3. 执行插入(SQL 保留原有 <foreach> 语法不变)
|
sqlSessionTemplate.insert("purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo", paramMap);
|
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[36]),
|
Vtil.defaultValue(os[37]),
|
Vtil.defaultValue(os[38]),
|
Vtil.defaultValue(os[39]),
|
Vtil.defaultValue(os[40]),
|
Vtil.defaultValue(os[41]),
|
Vtil.defaultValue(os[42]),
|
Vtil.defaultValue(os[43]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[44]),
|
Vtil.defaultValue(os[45]),
|
Vtil.defaultValue(os[46]),
|
Vtil.defaultValue(os[47]),
|
Vtil.defaultValue(os[48]),
|
Vtil.defaultValue(os[49]),
|
Vtil.defaultValue(os[50]),
|
Vtil.defaultValue(os[51]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[52]),
|
Vtil.defaultValue(os[53]),
|
Vtil.defaultValue(os[54]),
|
Vtil.defaultValue(os[55]),
|
Vtil.defaultValue(os[56]),
|
Vtil.defaultValue(os[57]),
|
Vtil.defaultValue(os[58]),
|
Vtil.defaultValue(os[59]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
}
|
|
|
|
if (true) {
|
PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo();
|
purchaseApplyPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
|
purchaseApplyPo.setApplyNo(Vtil.defaultValue(os[60]));
|
purchaseApplyPo.setApplyDate(Vtil.defaultValue(os[61]));
|
purchaseApplyPo.setApplyQuantity(Vtil.defaultValue(os[62]));
|
purchaseApplyPo.setUserName(Vtil.defaultValue(os[63]));
|
purchaseApplyPo.setApprover(Vtil.defaultValue(os[64]));
|
purchaseApplyPo.setResOrderType("10000");
|
purchaseApplyPo.setStoreId(result.getStoreId());
|
purchaseApplyPo.setCreateUserId(result.getUserId());
|
purchaseApplyPo.setCreateUserName(result.getUserName());
|
purchaseApplyPo.setEndUserName(result.getUserName());
|
purchaseApplyPo.setDescription("导入内容");
|
purchaseApplyPo.setWarehousingWay("10000");
|
purchaseApplyInnerServiceSMOImpl.savePurchaseApply(purchaseApplyPo);
|
|
PurchaseApplyDetailPo purchaseApplyDetailPo = new PurchaseApplyDetailPo();
|
purchaseApplyDetailPo.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
|
purchaseApplyDetailPo.setResId(resourceStoreDto.getResId());
|
purchaseApplyDetailPo.setFirstCumulativePurchaseQuantity(Vtil.defaultValue(os[65]));
|
purchaseApplyDetailPo.setQuantity(Vtil.defaultValue(os[29],"0"));
|
purchaseApplyDetailPo.setPurchaseDate(Vtil.defaultValue(os[66]));
|
purchaseApplyDetailPo.setPurchaseQuantity(Vtil.defaultValue(os[67]));
|
purchaseApplyDetailPo.setPurchaseDate2(Vtil.defaultValue(os[68]));
|
purchaseApplyDetailPo.setPurchaseQuantity2(Vtil.defaultValue(os[69]));
|
purchaseApplyDetailPo.setPurchaseDate3(Vtil.defaultValue(os[70]));
|
purchaseApplyDetailPo.setPurchaseQuantity3(Vtil.defaultValue(os[71]));
|
|
|
purchaseApplyDetailPo.setPrice(Vtil.defaultValue(os[72]));
|
purchaseApplyDetailPo.setConsultPrice(Vtil.defaultValue(os[72]));
|
purchaseApplyDetailPo.setPurchaseAmount(Vtil.defaultValue(os[73]));
|
purchaseApplyDetailPo.setPurchaser(Vtil.defaultValue(os[74]));
|
purchaseApplyDetailPo.setContractNo(Vtil.defaultValue(os[75]));
|
purchaseApplyDetailPo.setSupplier(Vtil.defaultValue(os[76]));
|
purchaseApplyDetailPo.setFirstCumulativeDeliveryQuantity(Vtil.defaultValue(os[77]));
|
purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId());
|
|
List<PurchaseApplyDetailPo> list = new ArrayList<>();
|
list.add(purchaseApplyDetailPo);
|
Map<String, Object> paramMap = new HashMap<>();
|
paramMap.put("list", list);
|
|
// 3. 执行插入(SQL 保留原有 <foreach> 语法不变)
|
sqlSessionTemplate.insert("purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo", paramMap);
|
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[78]),
|
Vtil.defaultValue(os[79]),
|
Vtil.defaultValue(os[80]),
|
Vtil.defaultValue(os[81]),
|
Vtil.defaultValue(os[82]),
|
Vtil.defaultValue(os[83]),
|
Vtil.defaultValue(os[84]),
|
Vtil.defaultValue(os[85]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[86]),
|
Vtil.defaultValue(os[87]),
|
Vtil.defaultValue(os[88]),
|
Vtil.defaultValue(os[89]),
|
Vtil.defaultValue(os[90]),
|
Vtil.defaultValue(os[91]),
|
Vtil.defaultValue(os[92]),
|
Vtil.defaultValue(os[93]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[94]),
|
Vtil.defaultValue(os[95]),
|
Vtil.defaultValue(os[96]),
|
Vtil.defaultValue(os[97]),
|
Vtil.defaultValue(os[98]),
|
Vtil.defaultValue(os[99]),
|
Vtil.defaultValue(os[100]),
|
Vtil.defaultValue(os[101]),
|
purchaseApplyDetailPo.getApplyOrderId())));
|
}
|
|
resourceStoreDto.setPayableAmount(Vtil.defaultValue(os[102]));
|
resourceStoreDto.setPaidAmount(Vtil.defaultValue(os[103]));
|
resourceStoreDto.setUnpaidAmount(Vtil.defaultValue(os[104]));
|
|
sqlSessionTemplate.insert("purchasePaymentRecordServiceDaoImpl.insertPurchasePaymentRecord", BeanConvertUtil.beanCovertMap(new PurchasePaymentRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[110]),
|
resourceStoreDto.getResId(),
|
Vtil.defaultValue(os[105]),
|
Vtil.defaultValue(os[106]),
|
Vtil.defaultValue(os[107]),
|
Vtil.defaultValue(os[108]),
|
Vtil.defaultValue(os[109])
|
)));
|
|
|
sqlSessionTemplate.insert("purchasePaymentRecordServiceDaoImpl.insertPurchasePaymentRecord", BeanConvertUtil.beanCovertMap(new PurchasePaymentRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
null,
|
resourceStoreDto.getResId(),
|
Vtil.defaultValue(os[111]),
|
Vtil.defaultValue(os[112]),
|
Vtil.defaultValue(os[113]),
|
Vtil.defaultValue(os[114]),
|
Vtil.defaultValue(os[115])
|
)));
|
|
sqlSessionTemplate.insert("purchaseReturnRecordServiceDaoImpl.insertPurchaseReturnRecord", BeanConvertUtil.beanCovertMap(new PurchaseReturnRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[117]),
|
Vtil.defaultValue(os[118]),
|
Vtil.defaultValue(os[119]),
|
Vtil.defaultValue(os[120]),
|
Vtil.defaultValue(os[121]),
|
Vtil.defaultValue(os[122]),
|
resourceStoreDto.getResId()
|
)));
|
|
sqlSessionTemplate.insert("purchaseReturnRecordServiceDaoImpl.insertPurchaseReturnRecord", BeanConvertUtil.beanCovertMap(new PurchaseReturnRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId),
|
Vtil.defaultValue(os[123]),
|
Vtil.defaultValue(os[124]),
|
Vtil.defaultValue(os[125]),
|
Vtil.defaultValue(os[126]),
|
Vtil.defaultValue(os[127]),
|
Vtil.defaultValue(os[128]),
|
resourceStoreDto.getResId()
|
)));
|
resourceStoreDto.setTotalReturnQuantity(Vtil.defaultValue(os[116]));
|
resourceStoreDto.setSupplier1(Vtil.defaultValue(os[129]));
|
resourceStoreDto.setSupplier2(Vtil.defaultValue(os[130]));
|
resourceStoreDto.setSupplier3(Vtil.defaultValue(os[131]));
|
|
|
} catch (ArrayIndexOutOfBoundsException e) {
|
//下标溢出不影响
|
}
|
|
|
// resourceStoreDto.setOutLowPrice(os[6].toString());
|
// resourceStoreDto.setOutHighPrice(os[7].toString());
|
resourceStoreDtos.add(resourceStoreDto);
|
try {
|
Thread.sleep(500);
|
} catch (InterruptedException e) {
|
|
}
|
|
}
|
}
|
|
|
/**
|
* 处理房产信息
|
*/
|
private ResponseEntity<String> dealExcelData(IPageData pd, List<ImportResourceStoreDto> resourceStoreDtos, ComponentValidateResult result) {
|
ResponseEntity<String> responseEntity = null;
|
|
List<ImportResourceStoreDto> tmpImportResourceStoreDtos = new ArrayList<>();
|
int flag = 0;
|
|
JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
|
|
int successCount = 0;
|
JSONObject data = new JSONObject();
|
data.put("userId", result.getUserId());
|
data.put("userName", result.getUserName());
|
data.put("storeId", result.getStoreId());
|
data.put("communityId", result.getCommunityId());
|
data.put("shId", paramIn.getString("shId"));
|
// data.put("shName", "系统仓库");
|
|
// Map<String, String> com = new HashMap<>();
|
// Map<String, String> rst = new HashMap<>();
|
|
try {
|
for (int roomIndex = 0; roomIndex < resourceStoreDtos.size(); roomIndex++) {
|
String shId = null;
|
|
// //第一步:仓库
|
// try {
|
// if (com.containsKey(result.getCommunityId())) {//判断仓库是否存在
|
// shId = com.get(result.getCommunityId());//缓存中存在直接拿缓存的仓库编号
|
// } else {
|
// StorehouseDto storehouseDto = new StorehouseDto();
|
//
|
// storehouseDto.setCommunityId(result.getCommunityId());
|
// storehouseDto.setShName(data.getString("shName"));
|
//
|
// int i = storehouseV1InnerServiceSMOImpl.queryStorehousesCount(storehouseDto);
|
//
|
// if (i > 0) {//数据库中存在直接拿系统中的仓库编号,并存入缓存
|
// List<StorehouseDto> storehouseDtos = storehouseV1InnerServiceSMOImpl.queryStorehouses(storehouseDto);
|
// com.put(result.getCommunityId(), storehouseDtos.get(0).getShId());
|
// } else {//数据库没有,创建
|
// shId = GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID);
|
// StorehousePo storehousePo = new StorehousePo();
|
//
|
// storehousePo.setShId(shId);
|
// storehousePo.setCommunityId(result.getCommunityId());
|
// storehousePo.setShName(data.getString("shName"));
|
// storehousePo.setAllocationSwitch("OFF");
|
// storehousePo.setAllowPurchase("ON");
|
// storehousePo.setAllowUse("ON");
|
// storehousePo.setIsShow("true");
|
// storehousePo.setPurchaseSwitch("OFF");
|
// storehousePo.setShDesc(data.getString("shName"));
|
// storehousePo.setUseSwitch("OFF");
|
//
|
// flag = storehouseV1InnerServiceSMOImpl.saveStorehouse(storehousePo);
|
//
|
// if (flag < 1) {
|
// throw new CmdException("保存数据失败");
|
// }
|
// }
|
// }
|
// } catch (Exception e) {
|
// throw new IllegalArgumentException("创建仓库失败");
|
// }
|
////
|
//// //一级分类
|
//// try {
|
//// ResourceStoreTypeDto rstDto = new ResourceStoreTypeDto();
|
//// rstDto.setName(resourceStoreDtos.get(roomIndex).getRstName());
|
//// int i = resourceStoreTypeInnerServiceSMOImpl.queryResourceStoreTypesCount(rstDto);
|
////
|
//// if (i > 0) {
|
//// ResourceStoreTypeDto resourceStoreTypeDto = resourceStoreTypeInnerServiceSMOImpl.queryResourceStoreTypes(rstDto).get(0);
|
////
|
//// }
|
////
|
//// } catch (Exception e) {
|
//// throw new IllegalArgumentException("创建一级分类失败");
|
//// }
|
|
|
|
resourceStoreDtos.get(roomIndex).setShId(shId);
|
tmpImportResourceStoreDtos.add(resourceStoreDtos.get(roomIndex));
|
if (tmpImportResourceStoreDtos.size() > DEFAULT_ROWS) {
|
flag = saveResourceStore(pd, tmpImportResourceStoreDtos, data);
|
tmpImportResourceStoreDtos = new ArrayList<>();
|
|
successCount += flag;
|
}
|
}
|
|
if (tmpImportResourceStoreDtos.size() > 0) {
|
flag = saveResourceStore(pd, tmpImportResourceStoreDtos, data);
|
|
successCount += flag;
|
}
|
} catch (Exception e) {
|
logger.error("导入失败", e);
|
//按批次做撤销功能
|
throw e;
|
}
|
|
return ResultVo.createResponseEntity("总共导入:" + tmpImportResourceStoreDtos.size() + ";成功导入:" + successCount + ";导入失败:" + (tmpImportResourceStoreDtos.size() - successCount));
|
}
|
|
/**
|
* 创建费用
|
*
|
* @param pd
|
* @param tmpImportResourceStoreDtos
|
*/
|
private int saveResourceStore(IPageData pd, List<ImportResourceStoreDto> tmpImportResourceStoreDtos, JSONObject data) {
|
|
JSONArray importRoomFees = JSONArray.parseArray(JSONObject.toJSONString(tmpImportResourceStoreDtos));
|
data.put("importResourceStoreDtos", importRoomFees);
|
|
String apiUrl = "resourceStore.importResourceStore";
|
|
ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, data.toJSONString(), apiUrl, HttpMethod.POST);
|
|
if (responseEntity.getStatusCode() != HttpStatus.OK) {
|
throw new IllegalArgumentException(responseEntity.getBody());
|
}
|
|
JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
|
if (ResultVo.CODE_OK != paramOut.getInteger("code")) {
|
throw new IllegalArgumentException(paramOut.getString("msg"));
|
}
|
|
return paramOut.getIntValue("data");
|
|
}
|
|
//解析Excel日期格式
|
public static Date DoubleToDate(Double dVal) {
|
Date tDate = new Date();
|
long localOffset = tDate.getTimezoneOffset() * 60000; //系统时区偏移 1900/1/1 到 1970/1/1 的 25569 天
|
tDate.setTime((long) ((dVal - 25569) * 24 * 3600 * 1000 + localOffset));
|
return tDate;
|
}
|
}
|