package com.gkhy.safePlatform.targetDuty.controller;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.query.PageQuery;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import com.gkhy.safePlatform.commons.utils.PageUtils;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.targetDuty.entity.TargetDivideDetail;
|
import com.gkhy.safePlatform.targetDuty.entity.TargetMng;
|
import com.gkhy.safePlatform.targetDuty.enums.TargetDutyResultCodes;
|
import com.gkhy.safePlatform.targetDuty.enums.TargetMngLevelEnum;
|
import com.gkhy.safePlatform.targetDuty.excepiton.TargetDutyException;
|
import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetCheckAndSubmitQueryCriteria;
|
import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetMngImportExcel;
|
import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetMngQueryCriteria;
|
import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetMngExcel;
|
import com.gkhy.safePlatform.targetDuty.service.TargetDivideDetailService;
|
import com.gkhy.safePlatform.targetDuty.service.TargetMngService;
|
import com.gkhy.safePlatform.targetDuty.service.baseService.TargetMngBaseService;
|
import com.gkhy.safePlatform.targetDuty.utils.DateUtils;
|
import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelLogs;
|
import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelUtil;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.core.Authentication;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.Serializable;
|
import java.net.URLEncoder;
|
import java.sql.Timestamp;
|
import java.util.*;
|
|
/**
|
* 目标指标(TargetMng)表控制层
|
*
|
* @author xurui
|
* @since 2022-07-20 11:49:22
|
*/
|
@RestController
|
@RequestMapping("targetMng")
|
public class TargetMngController {
|
/**
|
* 服务对象
|
*/
|
@Resource
|
private TargetMngService targetMngService;
|
@Resource
|
private TargetMngBaseService targetMngBaseService;
|
|
@Autowired
|
public HttpServletRequest request;
|
|
@Autowired
|
public HttpServletResponse response;
|
|
|
/**
|
* 分页查询所有数据
|
*
|
* @param pageQuery 查询实体
|
* @return 所有数据
|
*/
|
@PostMapping(value = "/page/list")
|
public ResultVO selectAll(@RequestBody PageQuery<TargetMngQueryCriteria> pageQuery){
|
|
return this.targetMngService.queryAll(pageQuery);
|
}
|
|
|
/**
|
* 通过主键查询单条数据
|
*
|
* @param id 主键
|
* @return 单条数据
|
*/
|
@GetMapping(value = "/selectOne/{id}")
|
public ResultVO selectOne(@PathVariable Serializable id) {
|
return new ResultVO<>(ResultCodes.OK,this.targetMngService.selectOne(id));
|
}
|
|
/**
|
* 新增或者修改数据
|
*
|
* @param targetMng 实体对象
|
* @return 修改结果
|
*/
|
@PostMapping(value = "/addOrUpdate")
|
public ResultVO update(@RequestBody TargetMng targetMng) {
|
|
if (TargetMngLevelEnum.getByCode(targetMng.getLevel())==null){
|
throw new TargetDutyException(TargetDutyResultCodes.TARGET_MNG_ENUM_LEVEL_NOT_EXIST);
|
}
|
|
if( !StringUtils.hasText(targetMng.getqName()) || !StringUtils.hasText(targetMng.getIndexNum())
|
|| !StringUtils.hasText(targetMng.getYear()) || !StringUtils.hasText(targetMng.getValue())
|
|| targetMng.getTargetType() == null){
|
return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少必填字段");
|
}
|
if (targetMng.getId() == null) {
|
return new ResultVO<>(ResultCodes.OK,targetMngBaseService.save(targetMng));
|
} else {
|
targetMngBaseService.update(targetMng,new UpdateWrapper<TargetMng>().eq("id",targetMng.getId()));
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
}
|
|
/**
|
* 删除数据
|
*
|
* @param ids 主键结合
|
* @return 删除结果
|
*/
|
@RequestMapping(value = "/delete",method = RequestMethod.POST)
|
public ResultVO delete(@RequestBody Long[] ids) {
|
this.targetMngService.delete(ids);
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
|
/**
|
* 下载模板
|
*
|
*/
|
@GetMapping(value = "/exportTemplate")
|
public void exportTemplate() throws IOException {
|
targetMngService.exportTemplate();
|
}
|
|
/**
|
* 导出一览数据
|
*
|
*/
|
@GetMapping(value = "/exportData")
|
public void exportData(TargetMngQueryCriteria queryCriteria) throws IOException {
|
targetMngService.exportData(queryCriteria);
|
}
|
|
/**
|
* 导入数据
|
*
|
*/
|
@RequestMapping(value = "/importData")
|
public ResultVO importData(MultipartFile file) throws IOException {
|
targetMngService.importData(file);
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
|
|
|
/**
|
* 分页查询所有数据 -- 【目标检查上报页面】使用
|
*
|
* @param pageQuery 查询实体
|
* @return 所有数据
|
*/
|
@PostMapping(value = "/checkAndSubimt/list")
|
public ResultVO list(Authentication authentication, @RequestBody PageQuery<TargetCheckAndSubmitQueryCriteria> pageQuery){
|
if(pageQuery.getSearchParams().getRelateType() == null){
|
return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少targetType");
|
}
|
PageUtils.checkCheck(pageQuery);
|
ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
|
return this.targetMngService.queryAll(currentUser.getUid(),pageQuery);
|
}
|
|
/**
|
* 统计
|
*
|
* @return 删除结果
|
*/
|
@GetMapping(value = "/statistics")
|
public ResultVO statistics(TargetMngQueryCriteria criteria) {
|
return new ResultVO<>(ResultCodes.OK,this.targetMngService.statistics(criteria));
|
}
|
|
|
public static void main(String[] args) {
|
TargetMng mng = new TargetMng();
|
mng.setqName("12");
|
mng.setIndexNum("3");
|
mng.setYear("2021");
|
mng.setValue("312");
|
mng.setLevel((byte)1);
|
mng.setCompleteDate(new Timestamp(new java.util.Date().getTime()));
|
mng.setMemo("发发发");
|
mng.setTargetType(0);
|
mng.setDivideStatus(0);
|
System.out.println(JSONObject.toJSONString(mng));
|
|
}
|
}
|