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 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().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 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)); } }