Commit 2d7252a6 by zhangkb

删除poc相关的代码

parent e033374b
//package com.keymobile.indicators.api.indicators;
//
//import java.util.List;
//import java.util.Map;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import com.keymobile.indicators.model.indicators.DeriveIndicators;
//import com.keymobile.indicators.service.indicators.DeriveIndicatorsService;
//
//import io.swagger.annotations.ApiOperation;
//
//@RestController
//@RequestMapping(value = "/deriveIndicatorsCtrl")
//public class DeriveIndicatorsCtrl {
//
// @Autowired
// private DeriveIndicatorsService derIndecatorsService;
//
// @ApiOperation(value = "新增/修改衍生指标", notes = "新增/修改衍生指标")
// @PostMapping(value = "/saveOrUpdateDerIndi")
// public String saveOrUpdateDerIndicators(@RequestParam String operator,
// @RequestBody DeriveIndicators derIndicators) throws Exception{
// return derIndecatorsService.saveOrUpdate(derIndicators, operator);
// }
//
// @ApiOperation(value = "删除衍生指标", notes = "删除衍生指标")
// @PostMapping(value = "/deleteDerIndicators")
// public void deleteDerIndicators(@RequestParam String derIndiId) throws Exception{
// derIndecatorsService.delete(derIndiId);
// }
//
// @ApiOperation(value = "获取衍生指标列表", notes = "获取衍生指标列表")
// @PostMapping(value = "/getDerIndicatorsList")
// public List<DeriveIndicators> getDerIndicatorsList(@RequestParam(required=false) String keyword)throws Exception{
// return derIndecatorsService.getDerIndicatorsList(keyword);
// }
//
// @ApiOperation(value = "获取衍生指标详情", notes = "获取衍生指标详情")
// @PostMapping(value = "/getDerIndicatorsDetial")
// public DeriveIndicators getDerIndicatorsDetail(@RequestParam String id) throws Exception{
// return derIndecatorsService.getDerIndicatorsDetail(id);
// }
//
// @ApiOperation(value = "获取衍生指标关联的原生指标共同的维度", notes = "获取衍生指标关联的原生指标共同的维度")
// @PostMapping(value = "/getSameDim")
// public List<String> getSameDim(@RequestParam String indiDefIdString) throws Exception{
// return derIndecatorsService.getSameDim(indiDefIdString);
// }
//
// @ApiOperation(value = "计算衍生指标的值", notes = "计算衍生指标的值")
// @PostMapping(value = "/calculate")
// public double calculateDeriveIndicators(@RequestParam String derIndiId,
// @RequestBody Map<String,Object> dimValues) throws Exception{
// return derIndecatorsService.calculateDeriveIndicators(derIndiId, dimValues);
// }
//
// @ApiOperation(value = "对标单元获取指标报表", notes = "对标单元获取指标报表")
// @PostMapping(value = "/getIndicatorsReport")
// public Map<String,Object> getIndicatorsReport(@RequestParam String StandardUnitId,
// @RequestParam String compareIndiIds,
// @RequestBody List<String> compareDims,@RequestParam String year)throws Exception{
// return derIndecatorsService.getIndicatorsReport(StandardUnitId, compareIndiIds, compareDims, year);
// }
//}
//package com.keymobile.indicators.api.indicators;
//
//import java.io.InputStream;
//import java.util.List;
//import java.util.Map;
//
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//import org.springframework.web.multipart.MultipartFile;
//
//import com.keymobile.indicators.model.indicators.IndicatorsDef;
//import com.keymobile.indicators.model.indicators.IndicatorsDim;
//import com.keymobile.indicators.service.indicators.IndicatorsService;
//
//import io.swagger.annotations.ApiOperation;
//
//@RestController
//@RequestMapping(value = "/indicatorsCtrl")
//public class IndicatorsCtrl {
//
// @Autowired
// private IndicatorsService indicatorsService;
//
// @ApiOperation(value = "新增/修改指标", notes = "新增/修改指标")
// @PostMapping(value = "/saveOrUpdateIndiDef")
// public String saveOrUpdateIndicators(
// @RequestBody IndicatorsDef indiDef,
// @RequestParam String operator)throws Exception{
// return indicatorsService.saveOrUpdateIndiDef(indiDef,operator);
// }
//
// @ApiOperation(value = "新增/修改维度(isUpdate:false(新增) true(修改))", notes = "新增/修改维度")
// @PostMapping(value = "/saveOrUpdateIndiDim")
// public String saveOrUpdateDim(@RequestBody List<IndicatorsDim> indiDims,
// @RequestParam String indiDefId,
// @RequestParam String operator,
// @RequestParam String isUpdate) throws Exception{
// return indicatorsService.saveOrUpdateDim(indiDefId, indiDims, operator, isUpdate);
// }
//
// @ApiOperation(value = "判断原生指标能否修改 true:能 false:不能", notes = "判断原生指标能否修改 true:能 false:不能")
// @PostMapping(value = "/canBeUpdate")
// public boolean canBeUpdate(@RequestParam String indicatorsId) throws Exception{
// return indicatorsService.canBeUpdate(indicatorsId);
// }
//
// @ApiOperation(value = "删除指标", notes = "删除指标")
// @PostMapping(value = "/deleteIndicators")
// public String delete(@RequestParam String indicatorsId)throws Exception{
// return indicatorsService.delete(indicatorsId);
// }
//
// @ApiOperation(value = "获取指标列表", notes = "获取指标列表")
// @PostMapping(value = "/getIndiDefList")
// public List<IndicatorsDef> getIndiDefList(@RequestParam(required=false) String keyword)throws Exception{
// return indicatorsService.getIndicatorsDefList(keyword);
// }
//
// @ApiOperation(value = "获取指标详情", notes = "获取指标详情")
// @PostMapping(value = "/getIndiDefDetail")
// public Map<String,Object> getIndiDefDetail(@RequestParam String indiDefId)throws Exception{
// return indicatorsService.getIndicatorsDefDetail(indiDefId);
// }
//
// @ApiOperation(value = "获取上传文件表头", notes = "获取上传文件表头")
// @PostMapping(value = "/getUploadExcelHead")
// public List<Map<String,Object>> getUploadExcelHead(
// @RequestParam("file") MultipartFile file)throws Exception{
// try (InputStream is = file.getInputStream()){
// XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
// return indicatorsService.getUploadExcelHead(xssfWorkbook);
// }
// }
//
// @ApiOperation(value = "判断上传文件表头和指标映射字段是否符合", notes = "判断上传文件表头和指标映射字段是否符合")
// @PostMapping(value = "/isCorrespondence")
// public String isCorrespondence(@RequestParam String indiDefId,
// @RequestParam("file") MultipartFile file)throws Exception{
// try (InputStream is = file.getInputStream()){
// XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
// return indicatorsService.isCorrespondence(indiDefId, xssfWorkbook);
// }
// }
//
// @ApiOperation(value = "上传解析指标数据", notes = "上传解析指标数据")
// @PostMapping(value = "/importIndiData")
// public String importIndicatorsData(@RequestParam String indiDefId,
// @RequestParam("file") MultipartFile file)throws Exception{
// try (InputStream is = file.getInputStream()){
// XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
// return indicatorsService.importIndicatorsData(indiDefId, xssfWorkbook);
// }
// }
//
// @ApiOperation(value = "查询指标值", notes = "查询指标值")
// @PostMapping(value = "/queryIndiValue")
// public Map<String,Object> queryIndicatorsValue(@RequestParam String indiDefId,
// @RequestBody Map<String,Object> dimValue)throws Exception{
// return indicatorsService.queryIndicatorsValue(indiDefId, dimValue,false);
// }
//
// @ApiOperation(value = "获取未审批指标值", notes = "获取未审批指标值")
// @PostMapping(value = "/getUnApplyIndiValue")
// public Map<String,Object> getUnApplyIndiValue() throws Exception{
// return indicatorsService.getUnApplyIndiValueList();
// }
//
// @ApiOperation(value = "审批指标值", notes = "审批指标值")
// @PostMapping(value = "/applyIndiValue")
// public void applyIndicatorsValue(@RequestBody List<String> indiValueId) throws Exception{
// indicatorsService.applyIndicatorsValue(indiValueId);
// }
//
//}
//package com.keymobile.indicators.model.indicators;
//
//import java.io.Serializable;
//import java.util.Date;
//
//import org.springframework.data.annotation.Id;
//import org.springframework.data.mongodb.core.mapping.Document;
//
//import com.fasterxml.jackson.annotation.JsonFormat;
//
///**
// * 衍生指标
// */
//@Document(collection="indi_derive")
//public class DeriveIndicators implements Serializable{
// /**
// *
// */
// private static final long serialVersionUID = 1L;
//
// @Id
// private String id;
// private String derName;
// private String derCnName;
// private String derUnit;//计算单位
// private String derFormula;
// private String indiDefIds;
// private String dimNames;
// private String derFormulaDesc;//公式中文描述
//
// private String status;
//
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date createTime;
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date updateTime;
//
// private String creator;
// private String updator;
//
// public String getId() {
// return id;
// }
// public void setId(String id) {
// this.id = id;
// }
// public String getDerName() {
// return derName;
// }
// public void setDerName(String derName) {
// this.derName = derName;
// }
// public String getDerCnName() {
// return derCnName;
// }
// public void setDerCnName(String derCnName) {
// this.derCnName = derCnName;
// }
// public String getDerUnit() {
// return derUnit;
// }
// public void setDerUnit(String derUnit) {
// this.derUnit = derUnit;
// }
// public String getDerFormula() {
// return derFormula;
// }
// public void setDerFormula(String derFormula) {
// this.derFormula = derFormula;
// }
// public String getIndiDefIds() {
// return indiDefIds;
// }
// public void setIndiDefIds(String indiDefIds) {
// this.indiDefIds = indiDefIds;
// }
// public String getDimNames() {
// return dimNames;
// }
// public void setDimNames(String dimNames) {
// this.dimNames = dimNames;
// }
// public String getDerFormulaDesc() {
// return derFormulaDesc;
// }
// public void setDerFormulaDesc(String derFormulaDesc) {
// this.derFormulaDesc = derFormulaDesc;
// }
// public String getStatus() {
// return status;
// }
// public void setStatus(String status) {
// this.status = status;
// }
// public Date getCreateTime() {
// return createTime;
// }
// public void setCreateTime(Date createTime) {
// this.createTime = createTime;
// }
// public Date getUpdateTime() {
// return updateTime;
// }
// public void setUpdateTime(Date updateTime) {
// this.updateTime = updateTime;
// }
// public String getCreator() {
// return creator;
// }
// public void setCreator(String creator) {
// this.creator = creator;
// }
// public String getUpdator() {
// return updator;
// }
// public void setUpdator(String updator) {
// this.updator = updator;
// }
//}
//package com.keymobile.indicators.model.indicators;
//
//import java.io.Serializable;
//import java.util.Date;
//
//import org.springframework.data.annotation.Id;
//import org.springframework.data.mongodb.core.mapping.Document;
//
//import com.fasterxml.jackson.annotation.JsonFormat;
//
///**
// * 指标定义表
// */
//@Document(collection="indi_def")
//public class IndicatorsDef implements Serializable{
// /**
// *
// */
// private static final long serialVersionUID = 1L;
//
// @Id
// private String id;
// private String indiName;
// private String indiCnName;
// private int valueMapping = -1;
// private String valueMappingName;
// private String indiUnit;
// private String dataType;
// private String status;
//
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date createTime;
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date updateTime;
//
// private String creator;
// private String updator;
//
// //添加基础指标编号和公式属性
// private String indiCode;
// private String indiFormula;
//
// public String getId() {
// return id;
// }
// public void setId(String id) {
// this.id = id;
// }
// public String getIndiName() {
// return indiName;
// }
// public void setIndiName(String indiName) {
// this.indiName = indiName;
// }
// public String getIndiCnName() {
// return indiCnName;
// }
// public void setIndiCnName(String indiCnName) {
// this.indiCnName = indiCnName;
// }
// public int getValueMapping() {
// return valueMapping;
// }
// public void setValueMapping(int valueMapping) {
// this.valueMapping = valueMapping;
// }
// public String getValueMappingName() {
// return valueMappingName;
// }
// public void setValueMappingName(String valueMappingName) {
// this.valueMappingName = valueMappingName;
// }
// public String getIndiUnit() {
// return indiUnit;
// }
// public void setIndiUnit(String indiUnit) {
// this.indiUnit = indiUnit;
// }
// public String getDataType() {
// return dataType;
// }
// public void setDataType(String dataType) {
// this.dataType = dataType;
// }
// public String getStatus() {
// return status;
// }
// public void setStatus(String status) {
// this.status = status;
// }
// public Date getCreateTime() {
// return createTime;
// }
// public void setCreateTime(Date createTime) {
// this.createTime = createTime;
// }
// public Date getUpdateTime() {
// return updateTime;
// }
// public void setUpdateTime(Date updateTime) {
// this.updateTime = updateTime;
// }
// public String getCreator() {
// return creator;
// }
// public void setCreator(String creator) {
// this.creator = creator;
// }
// public String getUpdator() {
// return updator;
// }
// public void setUpdator(String updator) {
// this.updator = updator;
// }
// public String getIndiCode() {
// return indiCode;
// }
// public void setIndiCode(String indiCode) {
// this.indiCode = indiCode;
// }
// public String getIndiFormula() {
// return indiFormula;
// }
// public void setIndiFormula(String indiFormula) {
// this.indiFormula = indiFormula;
// }
//}
//package com.keymobile.indicators.model.indicators;
//
//import java.io.Serializable;
//import java.util.Date;
//
//import org.springframework.data.annotation.Id;
//import org.springframework.data.mongodb.core.mapping.Document;
//
//import com.fasterxml.jackson.annotation.JsonFormat;
//
///**
// * 指标维度表
// */
//@Document(collection="indi_dim")
//public class IndicatorsDim implements Serializable{
// /**
// *
// */
// private static final long serialVersionUID = 1L;
//
// @Id
// private String id;
// private String dimName;
// private String dimCnName;
// private String dimType;
// private int dimMapping = -1;
// private String dimMappingName;
// private String dataType;
// private int sort;
// private String indiDefId;
//
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date createTime;
// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
// private Date updateTime;
//
// private String creator;
// private String updator;
// public String getId() {
// return id;
// }
// public void setId(String id) {
// this.id = id;
// }
// public String getDimName() {
// return dimName;
// }
// public void setDimName(String dimName) {
// this.dimName = dimName;
// }
// public String getDimCnName() {
// return dimCnName;
// }
// public void setDimCnName(String dimCnName) {
// this.dimCnName = dimCnName;
// }
// public String getDimType() {
// return dimType;
// }
// public void setDimType(String dimType) {
// this.dimType = dimType;
// }
// public int getDimMapping() {
// return dimMapping;
// }
// public void setDimMapping(int dimMapping) {
// this.dimMapping = dimMapping;
// }
// public String getDimMappingName() {
// return dimMappingName;
// }
// public void setDimMappingName(String dimMappingName) {
// this.dimMappingName = dimMappingName;
// }
// public String getDataType() {
// return dataType;
// }
// public void setDataType(String dataType) {
// this.dataType = dataType;
// }
// public int getSort() {
// return sort;
// }
// public void setSort(int sort) {
// this.sort = sort;
// }
// public String getIndiDefId() {
// return indiDefId;
// }
// public void setIndiDefId(String indiDefId) {
// this.indiDefId = indiDefId;
// }
// public Date getCreateTime() {
// return createTime;
// }
// public void setCreateTime(Date createTime) {
// this.createTime = createTime;
// }
// public Date getUpdateTime() {
// return updateTime;
// }
// public void setUpdateTime(Date updateTime) {
// this.updateTime = updateTime;
// }
// public String getCreator() {
// return creator;
// }
// public void setCreator(String creator) {
// this.creator = creator;
// }
// public String getUpdator() {
// return updator;
// }
// public void setUpdator(String updator) {
// this.updator = updator;
// }
//
//
//}
//package com.keymobile.indicators.persistence.indicators;
//
//import java.util.List;
//
//import org.springframework.data.mongodb.repository.MongoRepository;
//
//import com.keymobile.indicators.model.indicators.DeriveIndicators;
//
//public interface DeriveIndicatorsRepository extends MongoRepository<DeriveIndicators,String>{
//
// //判断原生指标是否关联了衍生指标
// public List<DeriveIndicators> findByIndiDefIdsLike(String indiDefId);
//
// public List<DeriveIndicators> findByDerNameLikeOrDerCnNameLike(String name,String cnName);
//}
//package com.keymobile.indicators.persistence.indicators;
//
//import java.util.List;
//
//import org.springframework.data.mongodb.repository.MongoRepository;
//
//import com.keymobile.indicators.model.indicators.IndicatorsDef;
//
//public interface IndicatorsDefRepository extends MongoRepository<IndicatorsDef,String>{
// public List<IndicatorsDef> findByStatus(String status);
//
// public List<IndicatorsDef> findByIndiNameLikeOrIndiCnNameLikeAndStatus(String name,String cnName,String status);
//}
//package com.keymobile.indicators.persistence.indicators;
//
//import java.util.List;
//import java.util.Optional;
//
//import org.springframework.data.mongodb.repository.MongoRepository;
//
//import com.keymobile.indicators.model.indicators.IndicatorsDim;
//
//public interface IndicatorsDimRepository extends MongoRepository<IndicatorsDim,String>{
// public void deleteByIndiDefId(String indiDefId);
//
// public List<IndicatorsDim> findByIndiDefId(String indiDefId);
//
// public Optional<IndicatorsDim> findByIndiDefIdAndDimMappingName(String indiDefId,String dimMappindName);
//
// public Optional<IndicatorsDim> findByIndiDefIdAndDimCnName(String indiDefId,String dimCnName);
//}
//package com.keymobile.indicators.service.indicators;
//
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.Optional;
//
//import org.apache.commons.lang.StringUtils;
//import org.mariuszgromada.math.mxparser.Expression;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import com.keymobile.indicators.model.indicators.DeriveIndicators;
//import com.keymobile.indicators.model.indicators.IndicatorsDef;
//import com.keymobile.indicators.model.indicators.IndicatorsDim;
//import com.keymobile.indicators.persistence.indicators.DeriveIndicatorsRepository;
//import com.keymobile.indicators.persistence.indicators.IndicatorsDefRepository;
//import com.keymobile.indicators.persistence.indicators.IndicatorsDimRepository;
//
//@Service
//public class DeriveIndicatorsService {
// private Logger logger = LoggerFactory.getLogger(DeriveIndicatorsService.class);
//
// @Autowired
// private DeriveIndicatorsRepository derIndicatorsRepo;
// @Autowired
// private IndicatorsDimRepository indicatorsDimRepo;
// @Autowired
// private IndicatorsService indicatorsService;
// @Autowired
// private IndicatorsDefRepository indicatorsDefRepo;
//
// //新增/修改衍生指标
// public String saveOrUpdate(DeriveIndicators derIndicators,String operator)throws Exception {
// //新增
// if(StringUtils.isBlank(derIndicators.getId())) {
// derIndicators.setCreateTime(new Date());
// derIndicators.setCreator(operator);
// derIndicators.setUpdateTime(new Date());
// derIndicators.setUpdator(operator);
// }else {
// derIndicators.setUpdateTime(new Date());
// derIndicators.setUpdator(operator);
// }
// derIndicators.setStatus("0");
// if(StringUtils.isBlank(derIndicators.getDimNames())) {
// derIndicators.setDimNames("地区;年份");
// }
// derIndicatorsRepo.save(derIndicators);
// return derIndicators.getId();
// }
//
// //删除衍生指标
// public void delete(String id) throws Exception{
// derIndicatorsRepo.deleteById(id);
// }
//
// //获取衍生列表
// public List<DeriveIndicators> getDerIndicatorsList(String keyword)throws Exception{
// if(StringUtils.isBlank(keyword)) {
// return derIndicatorsRepo.findAll();
// }
// return derIndicatorsRepo.findByDerNameLikeOrDerCnNameLike(keyword, keyword);
// }
//
// //获取衍生指标详情
// public DeriveIndicators getDerIndicatorsDetail(String id) throws Exception{
// Optional<DeriveIndicators> deriveIndi = derIndicatorsRepo.findById(id);
// if(deriveIndi.isPresent()) {
// return deriveIndi.get();
// }
// return null;
// }
//
// //根据衍生指标关联的原生指标获取共同的维度
// public List<String> getSameDim(String indiDefIdString) throws Exception{
// if(indiDefIdString.endsWith(";")) {
// indiDefIdString = indiDefIdString.substring(0, indiDefIdString.length()-1);
// }
// String[] indiDefIds = indiDefIdString.split(";");
// List<String> retainList = new ArrayList<>();
// for(int i=0;i<indiDefIds.length;i++) {
// //根据原生指标定义id获取维度名称
// List<String> dimNameList = this.getIndiDefDimNames(indiDefIds[i]);
// if(i==0) {
// if(dimNameList.isEmpty()) {
// break;
// }else {
// retainList.addAll(dimNameList);
// continue;
// }
// }
// retainList.retainAll(dimNameList);
// if(retainList.isEmpty()) {
// break;
// }
// }
// return retainList;
// }
//
// //计算衍生指标值
// public double calculateDeriveIndicators(String derIndiId,Map<String,Object> dimValues) throws Exception{
// //根据衍生指标id获取衍生指标
// Optional<DeriveIndicators> derIndicators = derIndicatorsRepo.findById(derIndiId);
// //获取衍生指标计算公式
// String derFormula = derIndicators.get().getDerFormula();
// logger.info("未替换公式:"+derFormula);
//
// //获取衍生指标关联的原生指标id
// String indiDefIdsString = derIndicators.get().getIndiDefIds();
// if(indiDefIdsString.endsWith(";")) {
// indiDefIdsString = indiDefIdsString.substring(0, indiDefIdsString.length()-1);
// }
// String[] indiDefIds = indiDefIdsString.split(";");
// for(String indiDefId : indiDefIds) {
// Map<String,Object> resultMap = indicatorsService.queryIndicatorsValue(indiDefId, dimValues, true);
// Object count = resultMap.get("count");
// //替换公式中的原生指标id为对应的值
// derFormula = derFormula.replace(indiDefId, count.toString());
// }
// logger.info("替换后的公式:"+derFormula);
//
// Expression e = new Expression(derFormula);
//
// double result = (double) Math.round((e.calculate()) * 100) / 100;
// return result;
// }
//
// public Map<String,Object> getIndicatorsReport(String StandardUnitId,
// String compareIndiIds,List<String> compareDims,String year) throws Exception{
// Map<String,Object> reportMap = new HashMap<>();
// reportMap.put("StandardUnitId", StandardUnitId);
//
// //拆分年份维度
// String[] yearDim = year.split(":");
//
// if(compareIndiIds.endsWith(";")) {
// compareIndiIds = compareIndiIds.substring(0, compareIndiIds.length()-1);
// }
// String[] compareIndiId = compareIndiIds.split(";");
//
// List<Map<String,Object>> indiReportList = new ArrayList<>();
// for(String indiId : compareIndiId) {
// Map<String,Object> indiReport = new HashMap<>();
// String[] inId = indiId.split(":");
// //如果是原生指标
// if("0".equals(inId[1])) {
// //根据原生指标id获取原生指标详情
// Optional<IndicatorsDef> indiDef = indicatorsDefRepo.findById(inId[0]);
// indiReport.put("indicatorsName", indiDef.get().getIndiCnName());
//
// List<Map<String,Object>> resultList = new ArrayList<>();
//
// String unit = indiDef.get().getIndiUnit();
// for(String compareDim : compareDims) {
// if(compareDim.endsWith(";")) {
// compareDim = compareDim.substring(0, compareDim.length()-1);
// }
// String[] compDim = compareDim.split(":");
// String dimCnName = compDim[0];
// String[] dimValues = compDim[1].split(";");
// for(String dimValue : dimValues) {
// Map<String,Object> queryMap = new HashMap<>();
// queryMap.put(dimCnName, dimValue);
// queryMap.put(yearDim[0],yearDim[1]);
//
// Map<String,Object> resultMap = new HashMap<>();
// resultMap.put("dimValue", dimValue);
// resultMap.put("unit", unit);
// Map<String,Object> result = indicatorsService.queryIndicatorsValue(
// inId[0], queryMap, true);
// resultMap.put("result", result.get("count"));
//
// resultList.add(resultMap);
// }
// }
// indiReport.put("resultList", resultList);
//
// indiReportList.add(indiReport);
// }else {
// //根据衍生指标id获取衍生指标详情
// Optional<DeriveIndicators> derIndicators = derIndicatorsRepo.findById(inId[0]);
// indiReport.put("indicatorsName", derIndicators.get().getDerCnName());
//
// List<Map<String,Object>> resultList = new ArrayList<>();
//
// //获取单位
// String unit = derIndicators.get().getDerUnit();
// for(String compareDim : compareDims) {
// if(compareDim.endsWith(";")) {
// compareDim = compareDim.substring(0, compareDim.length()-1);
// }
// String[] compDim = compareDim.split(":");
// String dimCnName = compDim[0];
// String[] dimValues = compDim[1].split(";");
// for(String dimValue : dimValues) {
// Map<String,Object> queryMap = new HashMap<>();
// queryMap.put(dimCnName, dimValue);
// queryMap.put(yearDim[0],yearDim[1]);
//
// Map<String,Object> resultMap = new HashMap<>();
// resultMap.put("dimValue", dimValue);
// resultMap.put("unit", unit);
// double result = this.calculateDeriveIndicators(inId[0], queryMap);
// resultMap.put("result", result);
//
// resultList.add(resultMap);
// }
// }
// indiReport.put("resultList", resultList);
//
// indiReportList.add(indiReport);
// }
// }
// reportMap.put("report", indiReportList);
// return reportMap;
// }
//
// private List<String> getIndiDefDimNames(String indiDefId){
// List<String> result = new ArrayList<>();
// List<IndicatorsDim> dims = indicatorsDimRepo.findByIndiDefId(indiDefId);
// for(IndicatorsDim dim : dims) {
// result.add(dim.getDimMappingName());
// }
// return result;
// }
//}
//package com.keymobile.indicators.service.indicators;
//
//import java.text.DecimalFormat;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import org.apache.commons.lang.StringUtils;
//import org.apache.poi.hssf.usermodel.HSSFDateUtil;
//import org.apache.poi.xssf.usermodel.XSSFRow;
//import org.apache.poi.xssf.usermodel.XSSFSheet;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Service;
//
//import com.keymobile.indicators.conf.MongoDBConfig;
//import com.keymobile.indicators.model.indicators.IndicatorsDef;
//import com.keymobile.indicators.model.indicators.IndicatorsDim;
//import com.mongodb.BasicDBObject;
//import com.mongodb.DB;
//import com.mongodb.DBCollection;
//import com.mongodb.DBObject;
//import com.mongodb.MongoClient;
//
//@Service
//public class IndicatorsExcelService {
//
// private Logger logger = LoggerFactory.getLogger(IndicatorsExcelService.class);
// @Autowired
// private MongoDBConfig mongoDbConfig;
//
// @Value("${mongodb.database}")
// private String database;
//
// //获取上传文件的excel头
// public Map<String,Object> getUploadExcelHead(XSSFWorkbook xssfWorkbook)throws Exception{
// int startDataRow = 0;//开始读excel数据的行号
// Map<String,Object> result = new HashMap<>();
// List<Map<String,Object>> cellDetailList = new ArrayList<>();
// List<String> cellList = new ArrayList<>();
// result.put("cellDetailList", cellDetailList);
// result.put("cellList", cellList);
// for(XSSFSheet excelSheet : xssfWorkbook) {
// XSSFRow xssfRow = excelSheet.getRow(startDataRow);
// int i = 0;
// while(StringUtils.isNotBlank(this.getCellValue(i,xssfRow))) {
// Map<String,Object> excelHead = new HashMap<>();
// excelHead.put("name", this.getCellValue(i,xssfRow));
// excelHead.put("index", i);
// cellDetailList.add(excelHead);
// cellList.add(this.getCellValue(i,xssfRow));
// i++;
// }
// break;
// }
// result.put("cellDetailList", cellDetailList);
// result.put("cellList", cellList);
// return result;
// }
//
// public String importIndicatorsData(IndicatorsDef indiDef,List<IndicatorsDim> dimList,
// XSSFWorkbook xssfWorkbook)throws Exception{
// StringBuilder message = new StringBuilder("");
// List<DBObject> datas = new ArrayList<>();
// //excel读取
// int startDataRow = 1;//开始读excel数据的行号
// for(XSSFSheet excelSheet : xssfWorkbook) {
// //抽取工作表内容
// for (int rowNum = startDataRow; rowNum <= excelSheet.getLastRowNum(); rowNum++) {
// /*创建DBObject对象,通过该对象来向集合中添加记录 */
// DBObject doc = new BasicDBObject();
// doc.put("inId", indiDef.getId());
//
// XSSFRow xssfRow = excelSheet.getRow(rowNum);
//
// //获取值映射列index
// int indiValueMapping = indiDef.getValueMapping();
// String indiValue = getCellValue(indiValueMapping,xssfRow);//指标值
// if(StringUtils.isBlank(indiValue)) {
// break;
// }
// doc.put("value", indiValue);
// doc.put("status", "1");//未生效(待审批)
// for(IndicatorsDim dim : dimList) {
// //获取映射名
// String dimName = dim.getDimName();
// //获取映射index
// int indiDimMapping = dim.getDimMapping();
// String dimValue = getCellValue(indiDimMapping,xssfRow);//维度值
// doc.put(dimName,dimValue);
// }
// datas.add(doc);
// }
// }
// if(!datas.isEmpty()) {
// this.addIndicatorData(datas);
// }
// return message.toString();
// }
//
// //
//
// private void addIndicatorData(List<DBObject> datas) throws Exception{
// MongoClient client = mongoDbConfig.mongoClient();
// /* 新建数据库实例,有则使用已有的数据库,没有则准别新建 */
// DB dataBase = client.getDB(database);
//
// /* 新建集合命名为user_info,如果该集合存在,则使用。否则新建 */
// DBCollection collection = dataBase.getCollection("indi_data");
//
// collection.insert(datas);
//
// client.close();
// }
//
// //获取列值
// private String getCellValue(int cellIndex,XSSFRow xssfRow) {
// String cellValue = "";
// try {
// //如果是字符串列
// cellValue = xssfRow.getCell(cellIndex) == null ?
// "" : xssfRow.getCell(cellIndex).getStringCellValue();
// } catch (Exception e) {
// try {
// if(HSSFDateUtil.isCellDateFormatted(xssfRow.getCell(cellIndex))) {
// //如果是日期
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
// cellValue = sdf.format(xssfRow.getCell(cellIndex).getDateCellValue());// 日期
// }else {
// //如果是数据列
// DecimalFormat decimalFormat = new DecimalFormat("###################.###########");
// cellValue = xssfRow.getCell(cellIndex) == null ?
// "" : String.valueOf(decimalFormat.format(xssfRow.getCell(cellIndex).getNumericCellValue()));
// }
// } catch (Exception e2) {
// try {
// cellValue = xssfRow.getCell(cellIndex) == null ?
// "" : xssfRow.getCell(cellIndex).getCellFormula();
// } catch (Exception e3) {
// cellValue = xssfRow.getCell(cellIndex) == null ?
// "" : String.valueOf(xssfRow.getCell(cellIndex).getBooleanCellValue());
// }
// }
// }
// return cellValue;
// }
//}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment