|
@ -1,581 +1,611 @@
|
|
|
//package com.yihu.jw.basic.agadmin.controller.quota;
|
|
|
//
|
|
|
//import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
//import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
//
|
|
|
//import com.yihu.jw.basic.quota.service.*;
|
|
|
//import com.yihu.jw.basic.resource.service.RsResourceQuotaService;
|
|
|
//import com.yihu.jw.entity.ehr.quota.*;
|
|
|
//import com.yihu.jw.entity.ehr.resource.RsResourceQuota;
|
|
|
//import com.yihu.jw.restmodel.ehr.tj.MTjQuotaDataSaveModel;
|
|
|
//import com.yihu.jw.restmodel.ehr.tj.MTjQuotaDataSourceModel;
|
|
|
//import com.yihu.jw.restmodel.ehr.tj.MTjQuotaModel;
|
|
|
//import com.yihu.jw.restmodel.web.Envelop;
|
|
|
//import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
|
//import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
//import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
|
//import com.yihu.jw.util.date.DateUtil;
|
|
|
//import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
//import io.swagger.annotations.Api;
|
|
|
//import org.springframework.beans.factory.annotation.Autowired;
|
|
|
//import org.springframework.ui.Model;
|
|
|
//import org.springframework.util.LinkedMultiValueMap;
|
|
|
//import org.springframework.util.MultiValueMap;
|
|
|
//import org.springframework.util.StringUtils;
|
|
|
//import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
//import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
//import org.springframework.web.bind.annotation.RestController;
|
|
|
//import org.springframework.web.client.RestClientException;
|
|
|
//import org.springframework.web.multipart.MultipartFile;
|
|
|
//
|
|
|
//import javax.servlet.http.HttpServletRequest;
|
|
|
//import javax.servlet.http.HttpServletResponse;
|
|
|
//import java.io.*;
|
|
|
//import java.net.URLDecoder;
|
|
|
//import java.util.*;
|
|
|
//
|
|
|
///**
|
|
|
// * Created by Administrator on 2017/6/13.
|
|
|
// */
|
|
|
//@RestController
|
|
|
//@RequestMapping("/tjQuota")
|
|
|
//@Api( tags = {"网关-统计"})
|
|
|
//public class TjQuotaController extends EnvelopRestEndpoint {
|
|
|
//
|
|
|
// @Autowired
|
|
|
// TjQuotaService tjQuotaService;
|
|
|
// @Autowired
|
|
|
// private RsResourceQuotaService resourceQuotaService;
|
|
|
// @Autowired
|
|
|
// TjQuotaDataSaveService tjQuotaDataSaveService;
|
|
|
// @Autowired
|
|
|
// TjQuotaDataSourceService tjQuotaDataSourceService;
|
|
|
// @Autowired
|
|
|
// TjDataSaveService tjDataSaveService;
|
|
|
// @Autowired
|
|
|
// TjDataSourceService tjDataSourceService;
|
|
|
//
|
|
|
// @RequestMapping("/getTjQuota")
|
|
|
// public Object searchTjQuota(String name, Integer quotaType, int page, int rows) {
|
|
|
// String url = "/tj/getTjQuotaList";
|
|
|
// StringBuffer stringBuffer = new StringBuffer();
|
|
|
// stringBuffer.append("status=1;");
|
|
|
// if (!StringUtils.isEmpty(name)) {
|
|
|
// stringBuffer.append("name?" + name.trim() + " g1;code?" + name.trim() + " g1;");
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(quotaType)) {
|
|
|
// stringBuffer.append("quotaType=" + quotaType + ";");
|
|
|
// } /*else {
|
|
|
// stringBuffer.append("quotaType=-1");
|
|
|
// }*/
|
|
|
// String filters = stringBuffer.toString();
|
|
|
//
|
|
|
// try {
|
|
|
// PageEnvelop PageEnvelop = new PageEnvelop();
|
|
|
// List<TjQuota> tjQuota = tjQuotaService.search(null, filters, null, page, rows);
|
|
|
// if(tjQuota != null){
|
|
|
// PageEnvelop.setDetailModelList(tjQuota);
|
|
|
// PageEnvelop.setTotalCount((int)tjQuotaService.getCount(filters));
|
|
|
// PageEnvelop.setStatus(200);
|
|
|
// PageEnvelop.setCurrPage(page);
|
|
|
// PageEnvelop.setPageSize(rows);
|
|
|
// }else{
|
|
|
// PageEnvelop.setStatus(200);
|
|
|
// PageEnvelop.setMessage("查询无数据");
|
|
|
// PageEnvelop.setTotalCount(0);
|
|
|
// }
|
|
|
// return PageEnvelop;
|
|
|
// } catch (Exception ex) {
|
|
|
// ex.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 新增修改
|
|
|
// *
|
|
|
// * @param tjQuotaModelJsonData
|
|
|
// * @param request
|
|
|
// * @return
|
|
|
// * @throws IOException
|
|
|
// */
|
|
|
// @RequestMapping(value = "updateTjDataSource", produces = "text/html;charset=UTF-8")
|
|
|
// public Envelop updateTjQuota(String tjQuotaModelJsonData, HttpServletRequest request) throws IOException {
|
|
|
// String url = "/tj/addTjQuota/";
|
|
|
// String resultStr = "";
|
|
|
// Envelop result = new Envelop();
|
|
|
// String[] strings = URLDecoder.decode(tjQuotaModelJsonData, "UTF-8").split(";");
|
|
|
// TjQuota detailModel = objectMapper.readValue(strings[0], TjQuota.class);
|
|
|
// try {
|
|
|
// if (!StringUtils.isEmpty(detailModel.getId())) {
|
|
|
// Long tjQuotaId = detailModel.getId();
|
|
|
// TjQuota updateTjQuota = tjQuotaService.getById(tjQuotaId);
|
|
|
// if (updateTjQuota!=null) {
|
|
|
// updateTjQuota.setResultGetType(detailModel.getResultGetType());
|
|
|
// updateTjQuota.setCode(detailModel.getCode());
|
|
|
// updateTjQuota.setName(detailModel.getName());
|
|
|
// updateTjQuota.setCron(detailModel.getCron());
|
|
|
// updateTjQuota.setJobStatus(detailModel.getJobStatus());
|
|
|
// updateTjQuota.setExecType(detailModel.getExecType());
|
|
|
// updateTjQuota.setExecTime(detailModel.getExecTime());
|
|
|
// updateTjQuota.setJobClazz(detailModel.getJobClazz());
|
|
|
// updateTjQuota.setQuotaType(detailModel.getQuotaType());
|
|
|
// updateTjQuota.setDataLevel(detailModel.getDataLevel());
|
|
|
// updateTjQuota.setRemark(detailModel.getRemark());
|
|
|
// TjQuotaDataSource tjquotaDataSource = null;
|
|
|
// TjQuotaDataSave tjQuotaDataSave = null;
|
|
|
// if(detailModel.getTjQuotaDataSource() != null){
|
|
|
// tjquotaDataSource = detailModel.getTjQuotaDataSource();
|
|
|
// tjquotaDataSource.setQuotaCode(detailModel.getCode());
|
|
|
// }
|
|
|
// if(detailModel.getTjQuotaDataSave() != null
|
|
|
// && org.apache.commons.lang3.StringUtils.isNotEmpty(detailModel.getTjQuotaDataSave().getSaveCode())){
|
|
|
// tjQuotaDataSave = detailModel.getTjQuotaDataSave();
|
|
|
// tjQuotaDataSave.setQuotaCode(detailModel.getCode());
|
|
|
// }
|
|
|
// detailModel.setUpdateTime(new Date());
|
|
|
// tjQuotaService.saves(detailModel, tjquotaDataSource, tjQuotaDataSave);
|
|
|
// return ObjEnvelop.getSuccess("统计表更新成功!", detailModel);
|
|
|
// } else {
|
|
|
// return failed("参数错误");
|
|
|
// }
|
|
|
// } else {
|
|
|
// TjQuotaDataSource tjquotaDataSource = null;
|
|
|
// TjQuotaDataSave tjQuotaDataSave = null;
|
|
|
// if(detailModel.getTjQuotaDataSource() != null){
|
|
|
// tjquotaDataSource = detailModel.getTjQuotaDataSource();
|
|
|
// tjquotaDataSource.setQuotaCode(detailModel.getCode());
|
|
|
// }
|
|
|
// if(detailModel.getTjQuotaDataSave() != null
|
|
|
// && org.apache.commons.lang3.StringUtils.isNotEmpty(detailModel.getTjQuotaDataSave().getSaveCode())){
|
|
|
// tjQuotaDataSave = detailModel.getTjQuotaDataSave();
|
|
|
// tjQuotaDataSave.setQuotaCode(detailModel.getCode());
|
|
|
// }
|
|
|
// detailModel.setIsInitExec("0");
|
|
|
// detailModel.setStatus(1);
|
|
|
// detailModel.setCreateTime(new Date());
|
|
|
// detailModel.setUpdateTime(new Date());
|
|
|
// tjQuotaService.saves(detailModel, tjquotaDataSource, tjQuotaDataSave);
|
|
|
// return ObjEnvelop.getSuccess("统计表更新成功!", detailModel);
|
|
|
// }
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 删除
|
|
|
// *
|
|
|
// * @param tjQuotaId
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("deleteTjDataSave")
|
|
|
// public Envelop deleteTjQuota(Long tjQuotaId) {
|
|
|
// String url = "/tj/deleteTjQuota";
|
|
|
// //判断资源视图中有没有用到此视图,有用到 不允许删除
|
|
|
// String resQuotaUrl = "/resourceQuota/searchByQuotaId";
|
|
|
// try {
|
|
|
// List<RsResourceQuota> list = resourceQuotaService.search("quotaId=" + tjQuotaId);
|
|
|
// if (list.size()>0) {
|
|
|
// return failed("指标在视图中被使用暂时不能删除,若要删除先解除资源视图中指标关系");
|
|
|
// }
|
|
|
// TjQuota tjQuota = tjQuotaService.getById(tjQuotaId);
|
|
|
// tjQuota.setStatus(-1);
|
|
|
// tjQuotaService.save(tjQuota);
|
|
|
// return ObjEnvelop.getSuccess("统计指标表删除成功!");
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 根据id获取消息
|
|
|
// *
|
|
|
// * @param model
|
|
|
// * @param id
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("getTjQuotaById")
|
|
|
// public Envelop getTjQuotaById(Model model, Long id) {
|
|
|
// String url = "/tj/getTjQuotaById/" + id;
|
|
|
// String resultStr = "";
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("id", id);
|
|
|
// try {
|
|
|
// TjQuota tjQuota = tjQuotaService.getById(id);
|
|
|
// if (null != tjQuota) {
|
|
|
// TjQuotaDataSave tjQuotaDataSave = tjQuotaDataSaveService.getByQuotaCode(tjQuota.getCode());
|
|
|
// TjQuotaDataSource tjQuotaDataSource = tjQuotaDataSourceService.getByQuotaCode(tjQuota.getCode());
|
|
|
// if (tjQuotaDataSave != null) {
|
|
|
// TjDataSave tjDataSave = tjDataSaveService.getByCode(tjQuotaDataSave.getSaveCode());
|
|
|
// tjQuotaDataSave.setName(tjDataSave.getName());
|
|
|
// }
|
|
|
// if (tjQuotaDataSource != null) {
|
|
|
// TjDataSource tjDataSource = tjDataSourceService.getByCode(tjQuotaDataSource.getSourceCode());
|
|
|
// tjQuotaDataSource.setName(tjDataSource.getName());
|
|
|
// }
|
|
|
// tjQuota.setTjQuotaDataSave(tjQuotaDataSave);
|
|
|
// tjQuota.setTjQuotaDataSource(tjQuotaDataSource);
|
|
|
// }
|
|
|
// return ObjEnvelop.getSuccess("统计指标表删除成功!",tjQuota);
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// }
|
|
|
// return failed("查询失败");
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 校验name是否唯一,true已存在
|
|
|
// *
|
|
|
// * @param name
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("hasExistsName")
|
|
|
// public Envelop hasExistsName(String name) {
|
|
|
// String url = "/tj/tjQuotaExistsName/" + name;
|
|
|
// String resultStr = "";
|
|
|
// Envelop result = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// ObjectMapper mapper = new ObjectMapper();
|
|
|
// params.put("name", name);
|
|
|
// try {
|
|
|
// String filter = "name=" + name;
|
|
|
// List<TjQuota> list = tjQuotaService.search(filter);
|
|
|
// return ObjEnvelop.getSuccess("查询成功",list.size() >0);
|
|
|
// } catch (Exception e) {
|
|
|
// e.getMessage();
|
|
|
// }
|
|
|
// return failed("查询失败");
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 校验code是否唯一
|
|
|
// *
|
|
|
// * @param code
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("hasExistsCode")
|
|
|
// public Envelop hasExistsCode(String code) {
|
|
|
// String url = "/tj/tjQuotaExistsCode/" + code;
|
|
|
// String resultStr = "";
|
|
|
// Envelop result = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// ObjectMapper mapper = new ObjectMapper();
|
|
|
// params.put("code", code);
|
|
|
// try {
|
|
|
// String filter = "code=" + code;
|
|
|
// List<TjQuota> list = tjQuotaService.search(filter);
|
|
|
// return ObjEnvelop.getSuccess("查询成功",list.size() >0);
|
|
|
// } catch (Exception e) {
|
|
|
// e.getMessage();
|
|
|
// }
|
|
|
// return failed("查询失败");
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 初始执行(全量统计)
|
|
|
// */
|
|
|
// @RequestMapping("firstExecuteQuota")
|
|
|
// public Object firstExecuteQuota(Long tjQuotaId) {
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("id", tjQuotaId);
|
|
|
// try {
|
|
|
// String url = "/job/firstExecuteQuota";
|
|
|
// String resultStr = HttpClientUtil.doPost(comUrl + url, params, username, password);
|
|
|
// envelop = objectMapper.readValue(resultStr, Envelop.class);
|
|
|
// return envelop;
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 执行指标
|
|
|
// */
|
|
|
// @RequestMapping("execuQuota")
|
|
|
// public Object execuQuota(Long tjQuotaId, String startDate, String endDate) {
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("id", tjQuotaId);
|
|
|
// if (!StringUtils.isEmpty(startDate)) {
|
|
|
// params.put("startDate", startDate);
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(endDate)) {
|
|
|
// params.put("endDate", endDate);
|
|
|
// }
|
|
|
// try {
|
|
|
// String url = "/job/execuJob";
|
|
|
// String resultStr = HttpClientUtil.doPost(comUrl + url, params, username, password);
|
|
|
// envelop = objectMapper.readValue(resultStr, Envelop.class);
|
|
|
// return envelop;
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 指标结果页
|
|
|
// *
|
|
|
// * @param model
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("initialResult")
|
|
|
// public String initialResult(Model model, long tjQuotaId, String quotaCode, String quotaType, String name) throws Exception {
|
|
|
// model.addAttribute("contentPage", "/report/zhibiao/resultIndex");
|
|
|
// model.addAttribute("id", tjQuotaId);
|
|
|
// model.addAttribute("quotaType", quotaType);
|
|
|
// model.addAttribute("name", name);
|
|
|
// String urlSlave = "/tj/getDimensionSlaveByQuotaCode";
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("quotaCode", quotaCode);
|
|
|
// Envelop result = null;
|
|
|
// try {
|
|
|
// String resultStr = HttpClientUtil.doGet(comUrl + urlSlave, params, username, password);
|
|
|
// result = objectMapper.readValue(resultStr, Envelop.class);
|
|
|
// if (result.isSuccessFlg() && result.getDetailModelList().size() > 0) {
|
|
|
// List<HashMap> slaveModelList = result.getDetailModelList();
|
|
|
// if (slaveModelList != null && slaveModelList.size() > 0) {
|
|
|
// int num = 1;
|
|
|
// for (HashMap map : slaveModelList) {
|
|
|
// TjQuotaDimensionSlaveModel quotaDimensionSlaveModel = objectMapper.convertValue(map, TjQuotaDimensionSlaveModel.class);
|
|
|
// RestTemplates templates = new RestTemplates();
|
|
|
// params.clear();
|
|
|
// params.put("code", quotaDimensionSlaveModel.getSlaveCode());
|
|
|
// resultStr = HttpClientUtil.doGet(comUrl + "/tj/getTjDimensionSlaveByCode", params, username, password);
|
|
|
// result = objectMapper.readValue(resultStr, Envelop.class);
|
|
|
// if (result.isSuccessFlg()) {
|
|
|
// TjDimensionSlaveModel tjDimensionSlaveModel = objectMapper.convertValue(result.getObj(), TjDimensionSlaveModel.class);
|
|
|
// model.addAttribute("slaveKey" + num + "Name", tjDimensionSlaveModel.getName());
|
|
|
// num++;
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// } catch (IOException e) {
|
|
|
// e.printStackTrace();
|
|
|
// }
|
|
|
// return "emptyView";
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
// /**
|
|
|
// * 指标执行结果
|
|
|
// *
|
|
|
// * @param tjQuotaId
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("selectQuotaResult")
|
|
|
// public Object selectQuotaResult(Long tjQuotaId, int page, int rows,
|
|
|
// String startTime, String endTime, String orgName,
|
|
|
// String province, String city, String district,String res, HttpServletRequest request) {
|
|
|
// Envelop result = new Envelop();
|
|
|
// String resultStr = "";
|
|
|
// String url = "/tj/tjGetQuotaResult";
|
|
|
// try {
|
|
|
// Map<String, Object> filters = new HashMap<>();
|
|
|
// filters.put("startTime", startTime);
|
|
|
// filters.put("endTime", endTime);
|
|
|
// filters.put("org", orgName);
|
|
|
// filters.put("province", province);
|
|
|
// filters.put("town", city);
|
|
|
// filters.put("district", district);
|
|
|
// // 结果大于0
|
|
|
// filters.put("result", res);
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// List<String> userOrgList = getUserOrgSaasListRedis(request);
|
|
|
// params.put("userOrgList", userOrgList);
|
|
|
// params.put("id", tjQuotaId);
|
|
|
// params.put("pageNo", page);
|
|
|
// params.put("pageSize", rows);
|
|
|
// params.put("filters", objectMapper.writeValueAsString(filters));
|
|
|
// ObjectMapper mapper = new ObjectMapper();
|
|
|
// resultStr = HttpClientUtil.doGet(comUrl + url, params, username, password);
|
|
|
// result = mapper.readValue(resultStr, Envelop.class);
|
|
|
// return result;
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
// /**
|
|
|
// * 获取指标日志信息
|
|
|
// *
|
|
|
// * @param
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("queryQuotaLog")
|
|
|
// public Object queryQuotaLog(String quotaCode, String startTime, String endTime, int page, int rows) throws Exception {
|
|
|
// String url = "/tj/getTjQuotaLogList";
|
|
|
// String resultStr = "";
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
//
|
|
|
// params.put("startTime", startTime);
|
|
|
// params.put("endTime", endTime);
|
|
|
// params.put("quotaCode", quotaCode);
|
|
|
// params.put("fields", "");
|
|
|
// params.put("sorts", "");
|
|
|
// params.put("page", page);
|
|
|
// params.put("size", rows);
|
|
|
// try {
|
|
|
// resultStr = HttpClientUtil.doGet(comUrl + url, params, username, password);
|
|
|
// return resultStr;
|
|
|
// } catch (Exception ex) {
|
|
|
// ex.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 获取quotaCode查询是否配置维度
|
|
|
// *
|
|
|
// * @param
|
|
|
// * @return
|
|
|
// */
|
|
|
// @RequestMapping("hasConfigDimension")
|
|
|
// public boolean hasConfigDimension(String quotaCode) throws Exception {
|
|
|
// String url = "/tj/hasConfigDimension";
|
|
|
// String resultStr = "";
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
//
|
|
|
// params.put("quotaCode", quotaCode);
|
|
|
// try {
|
|
|
// resultStr = HttpClientUtil.doGet(comUrl + url, params, username, password);
|
|
|
// if (resultStr.equals("true")) {
|
|
|
// return true;
|
|
|
// }
|
|
|
// } catch (Exception e) {
|
|
|
// e.getMessage();
|
|
|
// }
|
|
|
// return false;
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
// //带检索分页的查找指标方法,用于下拉框
|
|
|
// @RequestMapping("/rsQuota")
|
|
|
// public Object searchRsQuota(String searchParm, int page, int rows) {
|
|
|
// String url = "/tj/getTjQuotaList";
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// StringBuffer stringBuffer = new StringBuffer();
|
|
|
// if (!StringUtils.isEmpty(searchParm)) {
|
|
|
// stringBuffer.append("name?" + searchParm + ";");
|
|
|
// }
|
|
|
// params.put("filters", "");
|
|
|
// String filters = stringBuffer.toString();
|
|
|
// if (!StringUtils.isEmpty(filters)) {
|
|
|
// params.put("filters", filters);
|
|
|
// }
|
|
|
// params.put("page", page);
|
|
|
// params.put("size", rows);
|
|
|
// try {
|
|
|
// String envelopStrGet = HttpClientUtil.doGet(comUrl + url, params, username, password);
|
|
|
// Envelop envelopGet = objectMapper.readValue(envelopStrGet, Envelop.class);
|
|
|
// List<TjQuotaModel> tjQuotaModelList = new ArrayList<>();
|
|
|
// List<Map> list = new ArrayList<>();
|
|
|
// if (envelopGet.isSuccessFlg()) {
|
|
|
// tjQuotaModelList = (List<TjQuotaModel>) getEnvelopList(envelopGet.getDetailModelList(), new ArrayList<TjQuotaModel>(), TjQuotaModel.class);
|
|
|
// for (TjQuotaModel m : tjQuotaModelList) {
|
|
|
// Map map = new HashMap<>();
|
|
|
// map.put("id", m.getCode());
|
|
|
// map.put("name", m.getName());
|
|
|
// list.add(map);
|
|
|
// }
|
|
|
// envelopGet.setDetailModelList(list);
|
|
|
// return envelopGet;
|
|
|
// }
|
|
|
// return envelop;
|
|
|
// } catch (Exception ex) {
|
|
|
// ex.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
// @RequestMapping("/getTjQuotaChartList")
|
|
|
// public Object getQuotaChartList(String quotaCode, String name, int dictId, int page, int rows) {
|
|
|
// String url = "/tj/getTjQuotaChartList";
|
|
|
// String resultStr = "";
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("filters", "");
|
|
|
// StringBuffer stringBuffer = new StringBuffer();
|
|
|
// if (!StringUtils.isEmpty(quotaCode)) {
|
|
|
// stringBuffer.append("quotaCode=" + quotaCode);
|
|
|
// }
|
|
|
// if (!StringUtils.isEmpty(name)) {
|
|
|
// stringBuffer.append("value?" + name);
|
|
|
// }
|
|
|
// String filters = stringBuffer.toString();
|
|
|
// if (!StringUtils.isEmpty(filters)) {
|
|
|
// params.put("filters", filters);
|
|
|
// }
|
|
|
// String filter = "";
|
|
|
// if (!StringUtils.isEmpty(dictId)) {
|
|
|
// filter = "dictId=" + dictId;
|
|
|
// }
|
|
|
// params.put("dictfilter", filter);
|
|
|
// params.put("page", page);
|
|
|
// params.put("size", rows);
|
|
|
// try {
|
|
|
// resultStr = HttpClientUtil.doGet(comUrl + url, params, username, password);
|
|
|
// return resultStr;
|
|
|
// } catch (Exception ex) {
|
|
|
// ex.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 添加主维度子表
|
|
|
// *
|
|
|
// * @param jsonModel 维度子表信息的json串
|
|
|
// * @param request
|
|
|
// * @return
|
|
|
// * @throws IOException
|
|
|
// */
|
|
|
// @RequestMapping(value = "addTjQuotaChart", produces = "text/html;charset=UTF-8")
|
|
|
// public Object addTjQuotaChart(String quotaCode, String jsonModel, HttpServletRequest request) throws IOException {
|
|
|
// String url = "/tj/batchTjQuotaChart";
|
|
|
// String resultStr = "";
|
|
|
// Envelop result = new Envelop();
|
|
|
// MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
|
|
|
// params.add("model", jsonModel);
|
|
|
// RestTemplates templates = new RestTemplates();
|
|
|
// try {
|
|
|
// resultStr = templates.doPost(comUrl + url, params);
|
|
|
// } catch (RestClientException e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// return resultStr;
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 指标文件导入
|
|
|
// *
|
|
|
// * @param file
|
|
|
// * @param request
|
|
|
// * @param response
|
|
|
// * @return
|
|
|
// * @throws IOException
|
|
|
// */
|
|
|
// private static final String parentFile = "tjQuotaDataSet";
|
|
|
//
|
|
|
package com.yihu.jw.basic.agadmin.controller.quota;
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
|
import com.yihu.jw.basic.dict.service.SystemDictEntryService;
|
|
|
import com.yihu.jw.basic.quota.controller.JobController;
|
|
|
import com.yihu.jw.basic.quota.model.SaveModel;
|
|
|
import com.yihu.jw.basic.quota.service.*;
|
|
|
import com.yihu.jw.basic.quota.util.QuartzHelper;
|
|
|
import com.yihu.jw.basic.resource.service.RsResourceQuotaService;
|
|
|
import com.yihu.jw.basic.util.TemPath;
|
|
|
import com.yihu.jw.entity.ehr.quota.*;
|
|
|
import com.yihu.jw.entity.ehr.resource.RsResourceQuota;
|
|
|
import com.yihu.jw.restmodel.ehr.dict.MConventionalDict;
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
|
import com.yihu.jw.util.date.DateTimeUtil;
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.ui.Model;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
import org.springframework.web.client.RestClientException;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.*;
|
|
|
import java.net.URLDecoder;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Created by Administrator on 2017/6/13.
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("/tjQuota")
|
|
|
@Api( tags = {"网关-统计"})
|
|
|
public class TjQuotaController extends EnvelopRestEndpoint {
|
|
|
|
|
|
@Autowired
|
|
|
private JobController jobController;
|
|
|
@Autowired
|
|
|
private SystemDictEntryService dictEntryService;
|
|
|
@Autowired
|
|
|
TjQuotaService tjQuotaService;
|
|
|
@Autowired
|
|
|
private RsResourceQuotaService resourceQuotaService;
|
|
|
@Autowired
|
|
|
TjQuotaDataSaveService tjQuotaDataSaveService;
|
|
|
@Autowired
|
|
|
TjQuotaDataSourceService tjQuotaDataSourceService;
|
|
|
@Autowired
|
|
|
TjDataSaveService tjDataSaveService;
|
|
|
@Autowired
|
|
|
TjDataSourceService tjDataSourceService;
|
|
|
@Autowired
|
|
|
TjQuotaChartService tjQuotaChartService;
|
|
|
@Autowired
|
|
|
TjDimensionMainService tjDimensionMainService;
|
|
|
@Autowired
|
|
|
TjDimensionSlaveService tjDimensionSlaveService;
|
|
|
@Autowired
|
|
|
private TjQuotaCategoryService quotaCategoryService;
|
|
|
@Autowired
|
|
|
TjQuotaDimensionSlaveService tjQuotaDimensionSlaveService;
|
|
|
@Autowired
|
|
|
TjQuotaDimensionMainService tjQuotaDimensionMainService;
|
|
|
@Autowired
|
|
|
private QuotaService quotaService;
|
|
|
@Autowired
|
|
|
TjQuotaLogService tjQuotaLogService;
|
|
|
|
|
|
@GetMapping("/getTjQuota")
|
|
|
public Envelop searchTjQuota(String name, Integer quotaType, int page, int rows) {
|
|
|
String url = "/tj/getTjQuotaList";
|
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
|
stringBuffer.append("status=1;");
|
|
|
if (!StringUtils.isEmpty(name)) {
|
|
|
stringBuffer.append("name?" + name.trim() + " g1;code?" + name.trim() + " g1;");
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(quotaType)) {
|
|
|
stringBuffer.append("quotaType=" + quotaType + ";");
|
|
|
} /*else {
|
|
|
stringBuffer.append("quotaType=-1");
|
|
|
}*/
|
|
|
String filters = stringBuffer.toString();
|
|
|
|
|
|
try {
|
|
|
PageEnvelop PageEnvelop = new PageEnvelop();
|
|
|
List<TjQuota> tjQuota = tjQuotaService.search(null, filters, null, page, rows);
|
|
|
if(tjQuota != null){
|
|
|
PageEnvelop.setDetailModelList(tjQuota);
|
|
|
PageEnvelop.setTotalCount((int)tjQuotaService.getCount(filters));
|
|
|
PageEnvelop.setStatus(200);
|
|
|
PageEnvelop.setCurrPage(page);
|
|
|
PageEnvelop.setPageSize(rows);
|
|
|
}else{
|
|
|
PageEnvelop.setStatus(200);
|
|
|
PageEnvelop.setMessage("查询无数据");
|
|
|
PageEnvelop.setTotalCount(0);
|
|
|
}
|
|
|
return PageEnvelop;
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 新增修改
|
|
|
*
|
|
|
* @param tjQuotaModelJsonData
|
|
|
* @param request
|
|
|
* @return
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
@PostMapping(value = "updateTjDataSource", produces = "text/html;charset=UTF-8")
|
|
|
public Envelop updateTjQuota(String tjQuotaModelJsonData, HttpServletRequest request) throws IOException {
|
|
|
String url = "/tj/addTjQuota/";
|
|
|
String[] strings = URLDecoder.decode(tjQuotaModelJsonData, "UTF-8").split(";");
|
|
|
TjQuota detailModel = objectMapper.readValue(strings[0], TjQuota.class);
|
|
|
try {
|
|
|
if (!StringUtils.isEmpty(detailModel.getId())) {
|
|
|
Long tjQuotaId = detailModel.getId();
|
|
|
TjQuota updateTjQuota = tjQuotaService.getById(tjQuotaId);
|
|
|
if (updateTjQuota!=null) {
|
|
|
updateTjQuota.setResultGetType(detailModel.getResultGetType());
|
|
|
updateTjQuota.setCode(detailModel.getCode());
|
|
|
updateTjQuota.setName(detailModel.getName());
|
|
|
updateTjQuota.setCron(detailModel.getCron());
|
|
|
updateTjQuota.setJobStatus(detailModel.getJobStatus());
|
|
|
updateTjQuota.setExecType(detailModel.getExecType());
|
|
|
updateTjQuota.setExecTime(detailModel.getExecTime());
|
|
|
updateTjQuota.setJobClazz(detailModel.getJobClazz());
|
|
|
updateTjQuota.setQuotaType(detailModel.getQuotaType());
|
|
|
updateTjQuota.setDataLevel(detailModel.getDataLevel());
|
|
|
updateTjQuota.setRemark(detailModel.getRemark());
|
|
|
TjQuotaDataSource tjquotaDataSource = null;
|
|
|
TjQuotaDataSave tjQuotaDataSave = null;
|
|
|
if(detailModel.getTjQuotaDataSource() != null){
|
|
|
tjquotaDataSource = detailModel.getTjQuotaDataSource();
|
|
|
tjquotaDataSource.setQuotaCode(detailModel.getCode());
|
|
|
}
|
|
|
if(detailModel.getTjQuotaDataSave() != null
|
|
|
&& org.apache.commons.lang3.StringUtils.isNotEmpty(detailModel.getTjQuotaDataSave().getSaveCode())){
|
|
|
tjQuotaDataSave = detailModel.getTjQuotaDataSave();
|
|
|
tjQuotaDataSave.setQuotaCode(detailModel.getCode());
|
|
|
}
|
|
|
detailModel.setUpdateTime(new Date());
|
|
|
tjQuotaService.saves(detailModel, tjquotaDataSource, tjQuotaDataSave);
|
|
|
return ObjEnvelop.getSuccess("统计表更新成功!", detailModel);
|
|
|
} else {
|
|
|
return failed("参数错误");
|
|
|
}
|
|
|
} else {
|
|
|
TjQuotaDataSource tjquotaDataSource = null;
|
|
|
TjQuotaDataSave tjQuotaDataSave = null;
|
|
|
if(detailModel.getTjQuotaDataSource() != null){
|
|
|
tjquotaDataSource = detailModel.getTjQuotaDataSource();
|
|
|
tjquotaDataSource.setQuotaCode(detailModel.getCode());
|
|
|
}
|
|
|
if(detailModel.getTjQuotaDataSave() != null
|
|
|
&& org.apache.commons.lang3.StringUtils.isNotEmpty(detailModel.getTjQuotaDataSave().getSaveCode())){
|
|
|
tjQuotaDataSave = detailModel.getTjQuotaDataSave();
|
|
|
tjQuotaDataSave.setQuotaCode(detailModel.getCode());
|
|
|
}
|
|
|
detailModel.setIsInitExec("0");
|
|
|
detailModel.setStatus(1);
|
|
|
detailModel.setCreateTime(new Date());
|
|
|
detailModel.setUpdateTime(new Date());
|
|
|
tjQuotaService.saves(detailModel, tjquotaDataSource, tjQuotaDataSave);
|
|
|
return ObjEnvelop.getSuccess("统计表更新成功!", detailModel);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除
|
|
|
*
|
|
|
* @param tjQuotaId
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("deleteTjDataSave")
|
|
|
public Envelop deleteTjQuota(Long tjQuotaId) {
|
|
|
String url = "/tj/deleteTjQuota";
|
|
|
//判断资源视图中有没有用到此视图,有用到 不允许删除
|
|
|
String resQuotaUrl = "/resourceQuota/searchByQuotaId";
|
|
|
try {
|
|
|
List<RsResourceQuota> list = resourceQuotaService.search("quotaId=" + tjQuotaId);
|
|
|
if (list.size()>0) {
|
|
|
return failed("指标在视图中被使用暂时不能删除,若要删除先解除资源视图中指标关系");
|
|
|
}
|
|
|
TjQuota tjQuota = tjQuotaService.getById(tjQuotaId);
|
|
|
tjQuota.setStatus(-1);
|
|
|
tjQuotaService.save(tjQuota);
|
|
|
return ObjEnvelop.getSuccess("统计指标表删除成功!");
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据id获取消息
|
|
|
* @param id
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("getTjQuotaById")
|
|
|
public Envelop getTjQuotaById( Long id) {
|
|
|
String url = "/tj/getTjQuotaById/" + id;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("id", id);
|
|
|
try {
|
|
|
TjQuota tjQuota = tjQuotaService.getById(id);
|
|
|
if (null != tjQuota) {
|
|
|
TjQuotaDataSave tjQuotaDataSave = tjQuotaDataSaveService.getByQuotaCode(tjQuota.getCode());
|
|
|
TjQuotaDataSource tjQuotaDataSource = tjQuotaDataSourceService.getByQuotaCode(tjQuota.getCode());
|
|
|
if (tjQuotaDataSave != null) {
|
|
|
TjDataSave tjDataSave = tjDataSaveService.getByCode(tjQuotaDataSave.getSaveCode());
|
|
|
tjQuotaDataSave.setName(tjDataSave.getName());
|
|
|
}
|
|
|
if (tjQuotaDataSource != null) {
|
|
|
TjDataSource tjDataSource = tjDataSourceService.getByCode(tjQuotaDataSource.getSourceCode());
|
|
|
tjQuotaDataSource.setName(tjDataSource.getName());
|
|
|
}
|
|
|
tjQuota.setTjQuotaDataSave(tjQuotaDataSave);
|
|
|
tjQuota.setTjQuotaDataSource(tjQuotaDataSource);
|
|
|
}
|
|
|
return ObjEnvelop.getSuccess("统计指标表删除成功!",tjQuota);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 校验name是否唯一,true已存在
|
|
|
*
|
|
|
* @param name
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("hasExistsName")
|
|
|
public Envelop hasExistsName(String name) {
|
|
|
String url = "/tj/tjQuotaExistsName/" + name;
|
|
|
try {
|
|
|
String filter = "name=" + name;
|
|
|
List<TjQuota> list = tjQuotaService.search(filter);
|
|
|
return ObjEnvelop.getSuccess("查询成功",list.size() >0);
|
|
|
} catch (Exception e) {
|
|
|
e.getMessage();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 校验code是否唯一
|
|
|
*
|
|
|
* @param code
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("hasExistsCode")
|
|
|
public Envelop hasExistsCode(String code) {
|
|
|
String url = "/tj/tjQuotaExistsCode/" + code;
|
|
|
try {
|
|
|
String filter = "code=" + code;
|
|
|
List<TjQuota> list = tjQuotaService.search(filter);
|
|
|
return ObjEnvelop.getSuccess("查询成功",list.size() >0);
|
|
|
} catch (Exception e) {
|
|
|
e.getMessage();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 初始执行(全量统计)
|
|
|
*/
|
|
|
@PostMapping("firstExecuteQuota")
|
|
|
public Envelop firstExecuteQuota(Long tjQuotaId) {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("id", tjQuotaId);
|
|
|
try {
|
|
|
String url = "/job/firstExecuteQuota";
|
|
|
return jobController.firstExecuteQuota(tjQuotaId);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 执行指标
|
|
|
*/
|
|
|
@PostMapping("execuQuota")
|
|
|
public Envelop execuQuota(Long tjQuotaId, String startDate, String endDate) {
|
|
|
Envelop envelop = new Envelop();
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("id", tjQuotaId);
|
|
|
if (!StringUtils.isEmpty(startDate)) {
|
|
|
params.put("startDate", startDate);
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(endDate)) {
|
|
|
params.put("endDate", endDate);
|
|
|
}
|
|
|
try {
|
|
|
String url = "/job/execuJob";
|
|
|
return jobController.executeQuota(tjQuotaId,startDate,endDate);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 指标结果页
|
|
|
*
|
|
|
* @param model
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("initialResult")
|
|
|
public Envelop initialResult(Model model, long tjQuotaId, String quotaCode, String quotaType, String name) throws Exception {
|
|
|
try {
|
|
|
Map<String,String> map = new HashMap<>();
|
|
|
List<TjQuotaDimensionSlave> slaveModelList = tjQuotaDimensionSlaveService.getTjQuotaDimensionSlaveByCode(quotaCode);
|
|
|
if (slaveModelList.size() > 0) {
|
|
|
int num = 1;
|
|
|
for (TjQuotaDimensionSlave quotaDimensionSlaveModel : slaveModelList) {
|
|
|
TjDimensionSlave tjDimensionSlave = tjDimensionSlaveService.getTjDimensionSlaveByCode(quotaDimensionSlaveModel.getSlaveCode());
|
|
|
if (tjDimensionSlave!=null) {
|
|
|
map.put("slaveKey" + num + "Name", tjDimensionSlave.getName());
|
|
|
num++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return ObjEnvelop.getSuccess("查询成功",map);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 指标执行结果
|
|
|
*
|
|
|
* @param tjQuotaId
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping("selectQuotaResult")
|
|
|
public Envelop selectQuotaResult(Long tjQuotaId, int page, int rows,
|
|
|
String startTime, String endTime, String orgName,
|
|
|
String province, String city, String district,String res, HttpServletRequest request) {
|
|
|
String url = "/tj/tjGetQuotaResult";
|
|
|
try {
|
|
|
Map<String, Object> filters = new HashMap<>();
|
|
|
filters.put("startTime", startTime);
|
|
|
filters.put("endTime", endTime);
|
|
|
filters.put("org", orgName);
|
|
|
filters.put("province", province);
|
|
|
filters.put("town", city);
|
|
|
filters.put("district", district);
|
|
|
// 结果大于0
|
|
|
filters.put("result", res);
|
|
|
try {
|
|
|
List<SaveModel> saveModelList = new ArrayList<>();
|
|
|
List<Map<String, Object>> resultList = quotaService.queryResultPage(tjQuotaId, filters.toString(), page, rows);
|
|
|
if(resultList != null && resultList.size() > 0){
|
|
|
for(Map<String, Object> map : resultList){
|
|
|
SaveModel saveModel = objectMapper.convertValue(map, SaveModel.class);
|
|
|
if(saveModel != null){
|
|
|
saveModelList.add(saveModel);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
long totalCount = quotaService.getQuotaTotalCount(tjQuotaId,filters.toString());
|
|
|
return PageEnvelop.getSuccessListWithPage("查询成功",saveModelList,page,rows,totalCount);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取指标日志信息
|
|
|
*
|
|
|
* @param
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping("queryQuotaLog")
|
|
|
public Envelop queryQuotaLog(String quotaCode, String startTime, String endTime, int page, int rows) throws Exception {
|
|
|
String url = "/tj/getTjQuotaLogList";
|
|
|
String resultStr = "";
|
|
|
Envelop envelop = new Envelop();
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
|
|
|
params.put("startTime", startTime);
|
|
|
params.put("endTime", endTime);
|
|
|
params.put("quotaCode", quotaCode);
|
|
|
params.put("fields", "");
|
|
|
params.put("sorts", "");
|
|
|
params.put("page", page);
|
|
|
params.put("size", rows);
|
|
|
try {
|
|
|
Map<String, Object> conditionMap = new HashMap<>();
|
|
|
conditionMap.put("quotaCode", quotaCode);
|
|
|
conditionMap.put("page", page);
|
|
|
conditionMap.put("pageSize", rows);
|
|
|
|
|
|
Date startDate = DateTimeUtil.simpleDateTimeParse(startTime);
|
|
|
Date endDate = DateTimeUtil.simpleDateTimeParse(endTime);
|
|
|
if(null!=endDate){
|
|
|
Calendar calendar = new GregorianCalendar();
|
|
|
calendar.setTime(endDate);
|
|
|
calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
|
|
|
endDate=calendar.getTime(); //日期往后推一天
|
|
|
}
|
|
|
conditionMap.put("startDate", startDate);
|
|
|
conditionMap.put("endDate", endDate);
|
|
|
List<TjQuotaLog> tjQuotaLogs = tjQuotaLogService.searchQuotaLogByParams(conditionMap);
|
|
|
Long totalCount =Long.parseLong(tjQuotaLogService.searchQuotaLogByParamsTotalCount(conditionMap).toString());
|
|
|
|
|
|
return PageEnvelop.getSuccessListWithPage("",tjQuotaLogs,page,rows,totalCount);
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取quotaCode查询是否配置维度
|
|
|
*
|
|
|
* @param
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping("hasConfigDimension")
|
|
|
public Envelop hasConfigDimension(String quotaCode) throws Exception {
|
|
|
String url = "/tj/hasConfigDimension";
|
|
|
try {
|
|
|
String filters = "quotaCode=" + quotaCode;
|
|
|
List<TjQuotaDimensionMain> list = tjQuotaDimensionMainService.search(filters);
|
|
|
return ObjEnvelop.getSuccess("",list.size()>0);
|
|
|
} catch (Exception e) {
|
|
|
e.getMessage();
|
|
|
}
|
|
|
return failed("查询失败");
|
|
|
}
|
|
|
|
|
|
|
|
|
//带检索分页的查找指标方法,用于下拉框
|
|
|
@RequestMapping("/rsQuota")
|
|
|
public Envelop searchRsQuota(String searchParm, int page, int rows) {
|
|
|
String url = "/tj/getTjQuotaList";
|
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
|
if (!StringUtils.isEmpty(searchParm)) {
|
|
|
stringBuffer.append("name?" + searchParm + ";");
|
|
|
}
|
|
|
String filters = stringBuffer.toString();
|
|
|
try {
|
|
|
PageEnvelop PageEnvelop = new PageEnvelop();
|
|
|
List<TjQuota> tjQuota = tjQuotaService.search(null, filters, null, page, rows);
|
|
|
if(tjQuota != null){
|
|
|
PageEnvelop.setDetailModelList(tjQuota);
|
|
|
PageEnvelop.setTotalCount((int)tjQuotaService.getCount(filters));
|
|
|
PageEnvelop.setStatus(200);
|
|
|
PageEnvelop.setCurrPage(page);
|
|
|
PageEnvelop.setPageSize(rows);
|
|
|
}else{
|
|
|
PageEnvelop.setStatus(200);
|
|
|
PageEnvelop.setMessage("查询无数据");
|
|
|
PageEnvelop.setTotalCount(0);
|
|
|
}
|
|
|
return PageEnvelop;
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@RequestMapping("/getTjQuotaChartList")
|
|
|
public Envelop getQuotaChartList(String quotaCode, String name, int dictId, int page, int rows) {
|
|
|
String url = "/tj/getTjQuotaChartList";
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("filters", "");
|
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
|
if (!StringUtils.isEmpty(quotaCode)) {
|
|
|
stringBuffer.append("quotaCode=" + quotaCode);
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(name)) {
|
|
|
stringBuffer.append("value?" + name);
|
|
|
}
|
|
|
String filters = stringBuffer.toString();
|
|
|
if (!StringUtils.isEmpty(filters)) {
|
|
|
params.put("filters", filters);
|
|
|
}
|
|
|
String filter = "";
|
|
|
if (!StringUtils.isEmpty(dictId)) {
|
|
|
filter = "dictId=" + dictId;
|
|
|
}
|
|
|
params.put("dictfilter", filter);
|
|
|
params.put("page", page);
|
|
|
params.put("size", rows);
|
|
|
try {
|
|
|
List<MConventionalDict> conventionalDictList = dictEntryService.search(null, filter, null, page, rows);
|
|
|
List<MConventionalDict> mainModelList = new ArrayList<>();
|
|
|
if (conventionalDictList.size() > 0) {
|
|
|
Map<String,String> dictMap = new HashMap<>();
|
|
|
for(MConventionalDict dict:mainModelList){
|
|
|
dictMap.put(dict.getCode(),dict.getValue());
|
|
|
}
|
|
|
|
|
|
List<TjQuotaChart> tjQuotaChartList = tjQuotaChartService.search(null, filters, null, page, rows);
|
|
|
List<MConventionalDict> checkedConventionalDicts = new ArrayList<>();
|
|
|
if (tjQuotaChartList.size() > 0) {
|
|
|
for (TjQuotaChart tjQuotaChartModel : tjQuotaChartList) {
|
|
|
MConventionalDict mConventionalDict = new MConventionalDict();
|
|
|
String key = tjQuotaChartModel.getChartId()+"";
|
|
|
if(dictMap.containsKey(key)){
|
|
|
mConventionalDict.setCode(key);
|
|
|
mConventionalDict.setValue(dictMap.get(key));
|
|
|
checkedConventionalDicts.add(mConventionalDict);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
List<String> list = getAllCheckedTjQuotaChart(filters);
|
|
|
for (int i = 0; i < mainModelList.size(); i++) {
|
|
|
if (list.contains(mainModelList.get(i).getCode())) {
|
|
|
mainModelList.get(i).setChecked(true);
|
|
|
} else {
|
|
|
mainModelList.get(i).setChecked(false);
|
|
|
}
|
|
|
}
|
|
|
return MixEnvelop.getSuccess("",checkedConventionalDicts,mainModelList,page,rows,dictEntryService.getCount(filter));
|
|
|
} else {
|
|
|
return success();
|
|
|
}
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<String> getAllCheckedTjQuotaChart(String filters) throws Exception{
|
|
|
List<String> list = new ArrayList<>();
|
|
|
List<TjQuotaChart> tjQuotaCharts = tjQuotaChartService.search(filters, null);
|
|
|
List<TjQuotaChart> tjQuotaChartModels = new ArrayList<>();
|
|
|
if (tjQuotaCharts.size()> 0) {
|
|
|
for (TjQuotaChart tjQuotaChartModel : tjQuotaCharts) {
|
|
|
tjQuotaChartModels.add(tjQuotaChartModel);
|
|
|
list.add(tjQuotaChartModel.getChartId()+"");
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 添加主维度子表
|
|
|
*
|
|
|
* @param jsonModel 维度子表信息的json串
|
|
|
* @param request
|
|
|
* @return
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
@RequestMapping(value = "addTjQuotaChart", produces = "text/html;charset=UTF-8")
|
|
|
public Envelop addTjQuotaChart(String quotaCode, String jsonModel, HttpServletRequest request) throws IOException {
|
|
|
String url = "/tj/batchTjQuotaChart";
|
|
|
try {
|
|
|
List<TjQuotaChart> list = objectMapper.readValue(jsonModel, new TypeReference<List<TjQuotaChart>>(){});
|
|
|
if (list != null && list.size() > 0) {
|
|
|
tjQuotaChartService.deleteByQuotaCode(list.get(0).getQuotaCode());
|
|
|
}
|
|
|
for (int i=0; i<list.size(); i++) {
|
|
|
tjQuotaChartService.save(list.get(i));
|
|
|
}
|
|
|
return ObjEnvelop.getSuccess("指标图表信息更新成功!", list);
|
|
|
} catch (RestClientException e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 指标文件导入
|
|
|
*
|
|
|
* @param file
|
|
|
* @param request
|
|
|
* @param response
|
|
|
* @return
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
private static final String parentFile = "tjQuotaDataSet";
|
|
|
|
|
|
// @RequestMapping(value = "import")
|
|
|
// @ResponseBody
|
|
|
// public void importData(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
//
|
|
|
// try {
|
|
|
// UsersModel user = getCurrentUserRedis(request);
|
|
|
// writerResponse(response, 1 + "", "l_upd_progress");
|
|
|
// request.setCharacterEncoding("UTF-8");
|
|
|
// TjQuotaMsgReader excelReader = new TjQuotaMsgReader();
|
|
@ -616,35 +646,35 @@
|
|
|
// writerResponse(response, "-1", "l_upd_progress");
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// protected void writerResponse(HttpServletResponse response, String body, String client_method) throws IOException {
|
|
|
// StringBuffer sb = new StringBuffer();
|
|
|
// sb.append("<script type=\"text/javascript\">//<![CDATA[\n");
|
|
|
// sb.append(" parent.").append(client_method).append("(").append(body).append(");\n");
|
|
|
// sb.append("//]]></script>");
|
|
|
//
|
|
|
// response.setContentType("text/html;charset=UTF-8");
|
|
|
// response.addHeader("Pragma", "no-cache");
|
|
|
// response.setHeader("Cache-Control", "no-cache,no-store,must-revalidate");
|
|
|
// response.setHeader("Cache-Control", "pre-check=0,post-check=0");
|
|
|
// response.setDateHeader("Expires", 0);
|
|
|
// response.getWriter().write(sb.toString());
|
|
|
// response.flushBuffer();
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 验证指标编码、名称、指标分类、主维度、细维度
|
|
|
// *
|
|
|
// * @param excelReader 待验证的数据
|
|
|
// * @param errorLs 指标错误数据
|
|
|
// * @param correctLs 指标正常数据
|
|
|
// * @param quotaMainErrorLs 主维度错误数据
|
|
|
// * @param quotaMainCorrectLs 主维度正常数据
|
|
|
// * @param quotaSlaveErrorLs 细维度错误数据
|
|
|
// * @param quotaSlaveCorrectLs 细维度正常数据
|
|
|
// * @return
|
|
|
// * @throws Exception
|
|
|
// */
|
|
|
|
|
|
protected void writerResponse(HttpServletResponse response, String body, String client_method) throws IOException {
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
sb.append("<script type=\"text/javascript\">//<![CDATA[\n");
|
|
|
sb.append(" parent.").append(client_method).append("(").append(body).append(");\n");
|
|
|
sb.append("//]]></script>");
|
|
|
|
|
|
response.setContentType("text/html;charset=UTF-8");
|
|
|
response.addHeader("Pragma", "no-cache");
|
|
|
response.setHeader("Cache-Control", "no-cache,no-store,must-revalidate");
|
|
|
response.setHeader("Cache-Control", "pre-check=0,post-check=0");
|
|
|
response.setDateHeader("Expires", 0);
|
|
|
response.getWriter().write(sb.toString());
|
|
|
response.flushBuffer();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 验证指标编码、名称、指标分类、主维度、细维度
|
|
|
*
|
|
|
* @param excelReader 待验证的数据
|
|
|
* @param errorLs 指标错误数据
|
|
|
* @param correctLs 指标正常数据
|
|
|
* @param quotaMainErrorLs 主维度错误数据
|
|
|
* @param quotaMainCorrectLs 主维度正常数据
|
|
|
* @param quotaSlaveErrorLs 细维度错误数据
|
|
|
* @param quotaSlaveCorrectLs 细维度正常数据
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
// private Map<String,Object> validate(UsersModel user,TjQuotaMsgReader excelReader,
|
|
|
// List<TjQuotaMsg> errorLs, List<TjQuotaMsg> correctLs ,
|
|
|
// List<TjQuotaDMainMsg> quotaMainErrorLs ,List<TjQuotaDMainMsg> quotaMainCorrectLs ,
|
|
@ -791,72 +821,62 @@
|
|
|
// }
|
|
|
// return map;
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 获取已经存在的指标编码/指标名称
|
|
|
// *
|
|
|
// * @param name 检索字段名称
|
|
|
// * @param codes 检索列表
|
|
|
// * @return
|
|
|
// * @throws Exception
|
|
|
// */
|
|
|
// private Set<String> findExistCodeOrName(String name, Set<String> codes) throws Exception {
|
|
|
//
|
|
|
// Map<String, Object> conditionMap = new HashMap<>();
|
|
|
// String rs = "";
|
|
|
// //获取存在的主维度
|
|
|
// if (!StringUtils.isEmpty(name) && name.equals("mainCode")) {
|
|
|
// if (null != codes && codes.size() > 0) {
|
|
|
// conditionMap.put("mainCode", toJson(codes));
|
|
|
// rs = HttpClientUtil.doPost(comUrl + "/quota/TjDimensionMainIsExist", conditionMap);
|
|
|
// }
|
|
|
// } else if (!StringUtils.isEmpty(name) && name.equals("slaveCode")) {
|
|
|
// //获取存在的细维度
|
|
|
// if (null != codes && codes.size() > 0) {
|
|
|
// conditionMap.put("slaveCode", toJson(codes));
|
|
|
// rs = HttpClientUtil.doPost(comUrl + "/quota/TjDimensionSlaveIsExist", conditionMap);
|
|
|
// }
|
|
|
// } else {
|
|
|
// if (null != codes && codes.size() > 0) {
|
|
|
// conditionMap.put("type", name);
|
|
|
// conditionMap.put("json", toJson(codes));
|
|
|
// rs = HttpClientUtil.doPost(comUrl + "/quota/type_isExist", conditionMap);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// return objectMapper.readValue(rs, new TypeReference<Set<String>>() {
|
|
|
// });
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 根据指标分类的名称获取指标id和name
|
|
|
// *
|
|
|
// * @param names 指标分类名称
|
|
|
// * @return
|
|
|
// * @throws Exception
|
|
|
// */
|
|
|
// private Map<String, String> findExistQuotaType(Set<String> names) throws Exception {
|
|
|
// Map map = new HashMap<>();
|
|
|
// String resultStr = "";
|
|
|
// if (null != names && names.size() > 0) {
|
|
|
// map.put("name", toJson(names));
|
|
|
// resultStr = HttpClientUtil.doPost(comUrl + "/quotaCategory/getQuotaCategoryByName", map, username, password);
|
|
|
// }
|
|
|
// Envelop envelopAddr = objectMapper.readValue(resultStr, Envelop.class);
|
|
|
// Map<String, String> quotaCategoryMap = new HashMap<>();
|
|
|
// if (null != envelopAddr && null != envelopAddr.getObj()) {
|
|
|
// quotaCategoryMap = objectMapper.readValue(toJson(envelopAddr.getObj()), new TypeReference<Map<String, String>>() {
|
|
|
// });
|
|
|
// }
|
|
|
// return quotaCategoryMap;
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 指标、数据源、数据存储、主维度、细维度整体入库
|
|
|
// *
|
|
|
// * @param lsMap saveLs、quotaMainLs、quotaSlaveLs
|
|
|
// * @return
|
|
|
// */
|
|
|
|
|
|
/**
|
|
|
* 获取已经存在的指标编码/指标名称
|
|
|
*
|
|
|
* @param name 检索字段名称
|
|
|
* @param codes 检索列表
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
private List<String> findExistCodeOrName(String name, Set<String> codes) throws Exception {
|
|
|
|
|
|
Map<String, Object> conditionMap = new HashMap<>();
|
|
|
List values = new ArrayList();
|
|
|
//获取存在的主维度
|
|
|
if (!StringUtils.isEmpty(name) && name.equals("mainCode")) {
|
|
|
if (null != codes && codes.size() > 0) {
|
|
|
values = tjDimensionMainService.tjDimensionMainIsExist(toEntity(toJson(codes), String[].class));
|
|
|
}
|
|
|
} else if (!StringUtils.isEmpty(name) && name.equals("slaveCode")) {
|
|
|
//获取存在的细维度
|
|
|
if (null != codes && codes.size() > 0) {
|
|
|
values = tjDimensionSlaveService.tjDimensionSlaveIsExist(toEntity(toJson(codes), String[].class));
|
|
|
}
|
|
|
} else {
|
|
|
if (null != codes && codes.size() > 0) {
|
|
|
values = tjQuotaService.tjQuotaTypeIsExist(name,toEntity(toJson(codes), String[].class));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return values;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据指标分类的名称获取指标id和name
|
|
|
*
|
|
|
* @param names 指标分类名称
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
private Map<String, String> findExistQuotaType(Set<String> names) throws Exception {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
List<Object> list = (List<Object>)quotaCategoryService.getQuotaCategoryByName(toEntity(toJson(names), String[].class));
|
|
|
for(int i = 0 ;i < list.size() ; i++){
|
|
|
Object[] objectList=(Object[])list.get(i);
|
|
|
if(null!=objectList[0]&&null!=objectList[1]){
|
|
|
map.put(objectList[0].toString(), objectList[1].toString());
|
|
|
}
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 指标、数据源、数据存储、主维度、细维度整体入库
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
// private Envelop saveData(Map<String, Object> lsMap) {
|
|
|
// Envelop ret = new Envelop();
|
|
|
// Map map = new HashMap<>();
|
|
@ -872,72 +892,63 @@
|
|
|
// return ret;
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
//
|
|
|
// @RequestMapping("/downLoadErrInfo")
|
|
|
// public void downLoadErrInfo(String f, String datePath, HttpServletResponse response) throws IOException {
|
|
|
//
|
|
|
// try {
|
|
|
// f = datePath + TemPath.separator + f;
|
|
|
// downLoadFile(TemPath.getFullPath(f, parentFile), response);
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// public void downLoadFile(String filePath, HttpServletResponse response) throws IOException {
|
|
|
//
|
|
|
// InputStream fis = null;
|
|
|
// OutputStream toClient = null;
|
|
|
// try {
|
|
|
// File file = new File(filePath);
|
|
|
// fis = new BufferedInputStream(new FileInputStream(file));
|
|
|
// byte[] buffer = new byte[fis.available()];
|
|
|
// fis.read(buffer);
|
|
|
// fis.close();
|
|
|
//
|
|
|
// response.reset();
|
|
|
// response.setContentType("octets/stream");
|
|
|
// response.addHeader("Content-Length", "" + file.length());
|
|
|
// response.addHeader("Content-Disposition", "attachment; filename="
|
|
|
// + new String(file.getName().getBytes("gb2312"), "ISO8859-1"));
|
|
|
//
|
|
|
// toClient = new BufferedOutputStream(response.getOutputStream());
|
|
|
// toClient.write(buffer);
|
|
|
// toClient.flush();
|
|
|
// toClient.close();
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// if (fis != null){
|
|
|
// fis.close();
|
|
|
// }
|
|
|
// if (toClient != null){
|
|
|
// toClient.close();
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// /**
|
|
|
// * 停止执行指标
|
|
|
// */
|
|
|
// @RequestMapping("removeQuota")
|
|
|
// public Object removeQuota(Long tjQuotaId) {
|
|
|
// Envelop envelop = new Envelop();
|
|
|
// Map<String, Object> params = new HashMap<>();
|
|
|
// params.put("id", tjQuotaId);
|
|
|
// try {
|
|
|
// String url = "/quota/api/v1.0/job/removeJob";
|
|
|
// String resultStr = HttpClientUtil.doPost(adminInnerUrl + url, params, username, password);
|
|
|
// if(resultStr.equals("true")){
|
|
|
// envelop.setSuccessFlg(true);
|
|
|
// }else{
|
|
|
// envelop.setSuccessFlg(false);
|
|
|
// }
|
|
|
// return envelop;
|
|
|
// } catch (Exception e) {
|
|
|
// e.printStackTrace();
|
|
|
// return failed(ERR_SYSTEM_DES);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
//}
|
|
|
|
|
|
|
|
|
@RequestMapping("/downLoadErrInfo")
|
|
|
public void downLoadErrInfo(String f, String datePath, HttpServletResponse response) throws IOException {
|
|
|
|
|
|
try {
|
|
|
f = datePath + TemPath.separator + f;
|
|
|
downLoadFile(TemPath.getFullPath(f, parentFile), response);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public void downLoadFile(String filePath, HttpServletResponse response) throws IOException {
|
|
|
|
|
|
InputStream fis = null;
|
|
|
OutputStream toClient = null;
|
|
|
try {
|
|
|
File file = new File(filePath);
|
|
|
fis = new BufferedInputStream(new FileInputStream(file));
|
|
|
byte[] buffer = new byte[fis.available()];
|
|
|
fis.read(buffer);
|
|
|
fis.close();
|
|
|
|
|
|
response.reset();
|
|
|
response.setContentType("octets/stream");
|
|
|
response.addHeader("Content-Length", "" + file.length());
|
|
|
response.addHeader("Content-Disposition", "attachment; filename="
|
|
|
+ new String(file.getName().getBytes("gb2312"), "ISO8859-1"));
|
|
|
|
|
|
toClient = new BufferedOutputStream(response.getOutputStream());
|
|
|
toClient.write(buffer);
|
|
|
toClient.flush();
|
|
|
toClient.close();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
if (fis != null){
|
|
|
fis.close();
|
|
|
}
|
|
|
if (toClient != null){
|
|
|
toClient.close();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 停止执行指标
|
|
|
*/
|
|
|
@RequestMapping("removeQuota")
|
|
|
public Object removeQuota(Long tjQuotaId) {
|
|
|
Envelop envelop = new Envelop();
|
|
|
try {
|
|
|
return jobController.removeQuota(tjQuotaId);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return failed(ERR_SYSTEM_DES);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|