123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- package com.ims.eval.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.ims.eval.entity.OrganizationEvaluationInfo;
- import com.ims.eval.entity.dto.request.AddEvaluationInfoDTO;
- import com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO;
- import com.ims.eval.entity.dto.result.R;
- import com.ims.eval.service.IOrganizationEvaluationInfoService;
- import com.ims.eval.util.ExcelUtil;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import java.io.InputStream;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 考评指标明细
- 前端控制器
- * </p>
- *
- * @author wang
- * @since 2023-03-16
- */
- @Slf4j
- @RestController
- @RequestMapping("//organization-evaluation-info")
- public class OrganizationEvaluationInfoController {
- @Autowired
- private IOrganizationEvaluationInfoService organizationEvaluationInfoService;
- @Autowired
- private HttpServletRequest request;
- /**
- * @param organizationEvaluationId 目标责任书id
- * @return
- */
- //@ImsPreAuth("eval:organizationEvaluationInfo:view")
- @GetMapping(value = "finishValueList")
- public R finishValueList(
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "dept", required = false) String dept) {
- Map list = organizationEvaluationInfoService.finishValueList(organizationEvaluationId, dept, request);
- return R.ok().data(list);
- }
- /**
- * 获取当前指标需要考评的指标
- * @param organizationEvaluationId
- * @param binSection
- * @param binStage
- * @return
- */
- @GetMapping(value = "getEvaluationIndicatorList")
- public R getEvaluationIndicatorList(
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "binSection", required = false) String binSection,
- @RequestParam(value = "binStage", required = false) String binStage) {
- List<Map> list = organizationEvaluationInfoService.getEvaluationIndicatorList(organizationEvaluationId, binSection,binStage, request);
- return R.ok().data(list);
- }
- /**
- * 获取考核指标的详情
- * @param organizationEvaluationId
- * @param indicatorId
- * @return
- */
- @GetMapping(value = "getEvaluationInfoList")
- public R getEvaluationInfoList(
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "indicatorId", required = false) String indicatorId,
- @RequestParam(value = "binSection", required = false) String binSection,
- @RequestParam(value = "binStage", required = false) String binStage) {
- Map list = organizationEvaluationInfoService.getEvaluationInfoList(organizationEvaluationId, indicatorId,binSection,binStage, request);
- return R.ok().data(list);
- }
- @GetMapping("/download-excel")
- public ResponseEntity<byte[]> downloadExcel(
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "indicatorId", required = false) String indicatorId,
- @RequestParam(value = "binSection", required = false) String binSection,
- @RequestParam(value = "binStage", required = false) String binStage) throws Exception {
- byte[] excelBytes = organizationEvaluationInfoService.downloadExcel(organizationEvaluationId, indicatorId,binSection,binStage, request);
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
- headers.setContentDispositionFormData("attachment", "example.xlsx");
- return ResponseEntity.ok().headers(headers).body(excelBytes);
- }
- @PostMapping("/import-excel")
- public R importExcel(@RequestParam("file") MultipartFile file,HttpServletRequest request) throws Exception {
- boolean b = organizationEvaluationInfoService.importExcel(file,request);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("上传失败");
- }
- }
- /**
- * 批量修改
- *
- * @param jsonObjects
- * @return
- */
- //@ImsPreAuth("eval:organizationEvaluationInfo:edit")
- @PostMapping(value = "/updateEvaluationInfo")
- @ApiOperation(value = "批量新增(修改)", notes = "批量新增(修改)")
- public R updateEvaluationInfo(@RequestBody List<JSONObject> jsonObjects) {
- try {
- boolean b = organizationEvaluationInfoService.updateEvaluationInfo(jsonObjects);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- /**
- * 添加指标
- * @param addEvaluationInfoDTOs
- * @return
- */
- @PostMapping(value = "/addEvaluationInfo")
- @ApiOperation(value = "新增重点事项、管理事项", notes = "新增重点事项、管理事项")
- public R addEvaluationInfo(@RequestBody List<AddEvaluationInfoDTO> addEvaluationInfoDTOs) {
- try {
- boolean b = organizationEvaluationInfoService.addEvaluationInfo(addEvaluationInfoDTOs);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- /**
- * @param organizationEvaluationId 目标责任书id
- * @return
- */
- //@ImsPreAuth("eval:organizationEvaluationInfo:view")
- @GetMapping(value = "finishValueListNew")
- public R finishValueListNew(
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "dept", required = false) String dept,
- @RequestParam(value = "organizationShortName", required = false) String organizationShortName,
- @RequestParam(value = "indicatorName", required = false) String indicatorName,
- @RequestParam(value = "binSection", required = false) String binSection,
- @RequestParam(value = "isQuantified", required = false) String isQuantified) {
- List<OrganizationEvaluationInfoResDTO> list = organizationEvaluationInfoService.finishValueList(organizationEvaluationId, dept, organizationShortName,indicatorName,binSection,isQuantified,request);
- return R.ok().data(list);
- }
- /**
- * 批量修改
- *
- * @param OrganizationEvaluationInfo
- * @return
- */
- //@ImsPreAuth("eval:organizationEvaluationInfo:edit")
- @PostMapping(value = "/saveBatchDto")
- @ApiOperation(value = "批量新增(修改)", notes = "批量新增(修改)")
- public R saveBatchDto(@RequestBody List<OrganizationEvaluationInfo> OrganizationEvaluationInfo) {
- try {
- boolean b = organizationEvaluationInfoService.saveBatchDto(OrganizationEvaluationInfo);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- @PostMapping(value = "/import")
- @ResponseBody
- public R importAlertrule(@RequestParam("file") MultipartFile file,HttpServletRequest request) {
- if (!file.isEmpty()) {
- try {
- //获取原始的文件名
- String originalFilename = file.getOriginalFilename();
- //获取文件类型
- String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());
- //默认从第一行开始读取,第0行为标题
- Integer startRows = 1;
- //获取输入流
- InputStream is = file.getInputStream();
- List<OrganizationEvaluationInfo> bindingList = new ArrayList<>();
- //Excel导入导出的单元类
- List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
- //遍历Excel表每一行的数据
- for (String[] str : strings) {
- OrganizationEvaluationInfo organizationEvaluationInfo = new OrganizationEvaluationInfo();
- organizationEvaluationInfo.setId(str[0]);
- organizationEvaluationInfo.setQuantifiedValue(Double.parseDouble(str[8].trim().equals("") ? "0" : str[8]));
- bindingList.add(organizationEvaluationInfo);
- }
- boolean b = organizationEvaluationInfoService.saveOrUpdateBatch(bindingList);
- if (b) {
- organizationEvaluationInfoService.calculationByEvaluationId("","",bindingList.get(0).getOrganizationEvaluationId(),"");
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- return R.customError("上传文件为空!");
- }
- //
- @PostMapping(value = "/calculation")
- @ApiOperation(value = "计算得分", notes = "计算得分")
- public R calculation(@RequestParam(value = "id", required = false)String id,
- @RequestParam(value = "indicatorId", required = false) String indicatorId ,
- @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
- @RequestParam(value = "optionCode", required = false) String optionCode) {
- try {
- boolean b = organizationEvaluationInfoService.calculationByEvaluationId(id,indicatorId,organizationEvaluationId,optionCode);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- }
|