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 importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception { try { ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate); //InputStream is = uploadFile.getInputStream(); Workbook workbook = ImportExcelUtils.createWorkbook(uploadFile); //工作簿 List resourceStoreDtos = new ArrayList(); //封装对象 getResourceStores(workbook, resourceStoreDtos, result); // 保存数据 return dealExcelData(pd, resourceStoreDtos, result); } catch (Exception e) { logger.error("导入失败 ", e); return new ResponseEntity("非常抱歉,您填写的模板数据有误:" + e.getMessage(), HttpStatus.BAD_REQUEST); } } /** * 获取业主车辆信息 * * @param workbook * @param resourceStoreDtos */ private void getResourceStores(Workbook workbook, List resourceStoreDtos, ComponentValidateResult result) throws ParseException { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "客服-零星维修采购"); List 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 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 list = new ArrayList<>(); list.add(purchaseApplyDetailPo); Map paramMap = new HashMap<>(); paramMap.put("list", list); // 3. 执行插入(SQL 保留原有 语法不变) 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 list = new ArrayList<>(); list.add(purchaseApplyDetailPo); Map paramMap = new HashMap<>(); paramMap.put("list", list); // 3. 执行插入(SQL 保留原有 语法不变) 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 dealExcelData(IPageData pd, List resourceStoreDtos, ComponentValidateResult result) { ResponseEntity responseEntity = null; List 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 com = new HashMap<>(); // Map 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 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 tmpImportResourceStoreDtos, JSONObject data) { JSONArray importRoomFees = JSONArray.parseArray(JSONObject.toJSONString(tmpImportResourceStoreDtos)); data.put("importResourceStoreDtos", importRoomFees); String apiUrl = "resourceStore.importResourceStore"; ResponseEntity 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; } }