package com.gkhy.safePlatform.targetDuty.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.targetDuty.entity.RewardPunishmentDetail; import com.gkhy.safePlatform.targetDuty.model.dto.resp.ExamineMngDto; import com.gkhy.safePlatform.targetDuty.model.dto.resp.ExamineTemplateDto; import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentDetailDto; import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentDetailExcel; import com.gkhy.safePlatform.targetDuty.service.RewardPunishmentDetailService; import com.gkhy.safePlatform.targetDuty.utils.DateUtils; import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.targetDuty.model.dto.req.RewardPunishmentDetailQueryCriteria; import java.io.IOException; import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.Serializable; /** * 奖惩记录(RewardPunishmentDetail)表控制层 * * @author xurui * @since 2022-07-21 10:15:45 */ @RestController @RequestMapping("rewardPunishmentDetail") public class RewardPunishmentDetailController { /** * 服务对象 */ @Resource private RewardPunishmentDetailService rewardPunishmentDetailService; @Autowired public HttpServletRequest request; @Autowired public HttpServletResponse response; /** * 分页查询所有数据 * * @param pageQuery 查询实体 * @return 所有数据 */ @PostMapping(value = "/page/list") public ResultVO selectAll(@RequestBody PageQuery pageQuery){ PageUtils.checkCheck(pageQuery); return this.rewardPunishmentDetailService.queryAll(pageQuery); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping(value = "/selectOne/{id}") public ResultVO selectOne(@PathVariable Serializable id) { RewardPunishmentDetailDto mngDto = this.rewardPunishmentDetailService.selectOne(id); return new ResultVO<>(ResultCodes.OK,mngDto); } /** * 新增或者修改数据 * * @param rewardPunishmentDetail 实体对象 * @return 修改结果 */ @PostMapping(value = "/addOrUpdate") public ResultVO update(@RequestBody RewardPunishmentDetail rewardPunishmentDetail) { if(rewardPunishmentDetail.getPersonId() == null){ return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少personId"); } if(rewardPunishmentDetail.getRewardPunishmentStandardId() == null){ return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少rewardPunishmentStandardId"); } // List pIdList = Arrays.stream(rewardPunishmentDetail.getPersonId().split(",")).map(s-> Long.parseLong(s.trim())) // .collect(Collectors.toList()); // // List list = new ArrayList<>(); // pIdList.forEach(f->{ // RewardPunishmentDetail new1 = BeanCopyUtils.copyBean(rewardPunishmentDetail, RewardPunishmentDetail.class); // new1.setPersonId(f+""); // list.add(new1); // }); if (rewardPunishmentDetail.getId() == null) { rewardPunishmentDetail.setCreateTime(new Date()); return new ResultVO<>(ResultCodes.OK,rewardPunishmentDetailService.save(rewardPunishmentDetail)); } else { rewardPunishmentDetailService.updateById(rewardPunishmentDetail); return new ResultVO<>(ResultCodes.OK); } } /** * 删除数据 * * @param ids 主键结合 * @return 删除结果 */ @RequestMapping(value = "/delete",method = RequestMethod.POST) public ResultVO delete(@RequestBody Long[] ids) { if(ids == null){ return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL); } List idList = Arrays.asList(ids); this.rewardPunishmentDetailService.removeByIds(idList); return new ResultVO<>(ResultCodes.OK); } /** * 导出一览数据 * */ @GetMapping(value = "/exportData") public void exportData(RewardPunishmentDetailQueryCriteria queryCriteria) throws IOException { Map map = new LinkedHashMap<>(); map.put("1","奖惩日期"); map.put("2","奖惩类型"); map.put("3","被奖惩者"); map.put("4","奖惩内容"); map.put("5","奖惩依据"); String key = DateUtils.date2String(new Date(), DateUtils.PATTERN_ALLTIME_NOSIGN) ; String fileName = URLEncoder.encode("奖惩记录"+key+".xls", "UTF-8"); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); List respList = BeanCopyUtils.copyBeanList(rewardPunishmentDetailService.queryAllRelation(queryCriteria), RewardPunishmentDetailExcel.class); ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD); response.getOutputStream().close(); } }