package com.ims.eval.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ims.eval.config.CustomException;
import com.ims.eval.entity.OrganizationEvaluation;
import com.ims.eval.entity.dto.response.OrganizationEvaluationResDTO;
import com.ims.eval.entity.dto.result.R;
import com.ims.eval.service.IOrganizationEvaluationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
*
* 单位/部门考评记录 前端控制器
*
*
* @author wang
* @since 2023-03-16
*/
@RestController
@RequestMapping("//organization-evaluation")
public class OrganizationEvaluationController {
@Autowired
private IOrganizationEvaluationService organizationEvaluationService;
@Autowired
private HttpServletRequest request;
/**
* 分页查询
*
* @param pageNum 当前页数
* @param pageSize 当前页大小
* @param id 主键
* @param organizationEvaluationCode 业务编码
* @param checkCycle 周期
* @param beginDate 考核开始时间
* @param endDate 考核截止时间
* @param stage 审批状态
* @param createBy 创建者
* @param year 年
* @param month 月
* @param des 描述
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:view")
@GetMapping(value = "list")
public R list(@RequestParam(value = "pageNum") Integer pageNum,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "id", required = false) String id,
@RequestParam(value = "organizationEvaluationCode", required = false) String organizationEvaluationCode,
@RequestParam(value = "checkCycle", required = false) List checkCycle,
@RequestParam(value = "beginDate", required = false) String beginDate,
@RequestParam(value = "endDate", required = false) String endDate,
@RequestParam(value = "stage", required = false) String stage,
@RequestParam(value = "createBy", required = false) String createBy,
@RequestParam(value = "year", required = false) String year,
@RequestParam(value = "month", required = false) String month,
@RequestParam(value = "des", required = false) String des) {
IPage list = organizationEvaluationService.list(pageNum, pageSize, id, organizationEvaluationCode, checkCycle, beginDate, endDate, stage, createBy, year, month, des);
return R.ok().data(list);
}
/**
* 添加
*
* @param organizationEvaluation
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:edit")
@PostMapping(value = "/save")
@ApiOperation(value = "新增(修改)", notes = "新增(修改)")
public R add(@RequestBody OrganizationEvaluation organizationEvaluation) {
try {
boolean b = organizationEvaluationService.saveOrUpdate(organizationEvaluation);
if (b) {
return R.ok().data(b);
} else {
return R.error().data("保存失败!");
}
} catch (CustomException e) {
return R.customError(e.getMessage()).data("失败!");
}
}
/**
* 生成单位考评年度明细记录
*
* @param evaluationIds 考评ids
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:edit")
@PostMapping(value = "/generateUnitEvaluation")
@ApiOperation(value = "生成单位考评明细", notes = "生成单位考评明细")
public R generateUnitYearEvaluation(@RequestParam(value = "evaluationIds") String evaluationIds,
@RequestParam(value = "indicatorId", required = false) String indicatorId,
@RequestParam(value = "organizationId", required = false) String organizationId,
@RequestParam(value = "mark", defaultValue = "false") Boolean mark) {
/*try {*/
List orgEvalRuleIdList = Arrays.asList(evaluationIds.split(","));
/*boolean b = false;*/
//b =
//
return organizationEvaluationService.generateUnitEvaluationInfo(orgEvalRuleIdList,indicatorId,organizationId,mark);
/* if (!b) {
return R.error().data("保存失败!");
}
return R.ok().data(b);
} catch (CustomException e) {
return R.customError(e.getMessage()).data("失败!");
}*/
}
/**
* 生成单位考评月度明细记录
*
* @param evaluationIds 考评ids
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:edit")
@PostMapping(value = "/generateUnitMonthEvaluation")
@ApiOperation(value = "生成月度单位考评明细", notes = "生成月度单位考评明细")
public R generateUnitMonthEvaluation(@RequestParam(value = "evaluationIds", required = true) String evaluationIds,
@RequestParam(value = "indicatorId", required = false) String indicatorId,
@RequestParam(value = "organizationId", required = false) String organizationId,
@RequestParam(value = "mark", required = true,defaultValue = "false") Boolean mark) {
// try {
List orgEvalRuleIdList = Arrays.asList(evaluationIds.split(","));
// boolean b = false;
// b =
return organizationEvaluationService.generateUnitMonthEvaluation(orgEvalRuleIdList, indicatorId, organizationId, mark);
// if (!b) {
// return R.error().data("保存失败!");
// }
//
// return R.ok().data(b);
// } catch (CustomException e) {
// return R.customError(e.getMessage()).data("失败!");
// }
}
/**
* 生成部门考评季度明细记录
*
* @param evaluationIds 考评ids
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:edit")
@PostMapping(value = "/generateUnitSeasonEvaluation")
@ApiOperation(value = "生成部门考评明细", notes = "生成部门考评明细")
public R generateUnitSeasonEvaluation(@RequestParam(value = "evaluationIds", required = true) String evaluationIds) {
try {
List orgEvalRuleIdList = Arrays.asList(evaluationIds.split(","));
boolean b = false;
b = organizationEvaluationService.generateUnitSeasonEvaluation(orgEvalRuleIdList);
if (!b) {
return R.error().data("保存失败!");
}
return R.ok().data(b);
} catch (CustomException e) {
return R.customError(e.getMessage()).data("失败!");
}
}
/**
* 批量删除
*
* @param ids
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:remove")
@PostMapping(value = "/remove/{ids}")
@ApiOperation(value = "删除", notes = "删除")
public R deleteAll(@PathVariable("ids") String ids) {
String[] strings = ids.split(",");
boolean b = organizationEvaluationService.removeByIds(Arrays.asList(strings));
if (b) {
return R.ok().data(b);
} else {
return R.error().data("删除失败!");
}
}
/**
*
* @param id 目标责任书id
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:view")
@GetMapping(value = "getByidAndInfo")
public R planValueList(
@RequestParam(value = "id", required = false) String id,
@RequestParam(value = "dept", required = false) String dept) {
OrganizationEvaluationResDTO resDTO = organizationEvaluationService.getByidAndInfo(id, dept,request);
return R.ok().data(resDTO);
}
/**
*
* @param id 目标责任书id
* @return
*/
//@ImsPreAuth("eval:organizationEvaluation:view")
@GetMapping(value = "getOrganizationEvaluation")
public R getOrganizationEvaluation(
@RequestParam(value = "id", required = false) String id) {
OrganizationEvaluation res = organizationEvaluationService.getOrganizationEvaluation(id);
return R.ok().data(res);
}
@GetMapping(value = "/getEvalScoreInfo")
@ApiOperation(value = "考核打分表", notes = "考核打分表")
public R getEvaluationScoreInfo(@RequestParam(value = "id", required = false)String id,
@RequestParam(value = "indicatorId", required = false) String indicatorId,
@RequestParam(value = "binSection", required = false) String binSection){
try {
Map map = organizationEvaluationService.getEvaluationScoreInfo(id,binSection,indicatorId,"");
return R.ok().data(map);
} catch (CustomException e) {
return R.customError(e.getMessage()).data("失败!");
}
}
}