package com.gkhy.safePlatform.targetDuty.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.targetDuty.entity.ExamineMng; import com.gkhy.safePlatform.targetDuty.entity.ExamineTemplate; import com.gkhy.safePlatform.targetDuty.entity.RewardPunishmentStandard; import com.gkhy.safePlatform.targetDuty.excepiton.TargetDutyException; import com.gkhy.safePlatform.targetDuty.model.dto.resp.ExamineMngDto; import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentDetailExcel; import com.gkhy.safePlatform.targetDuty.repository.RewardPunishmentDetailRepository; import com.gkhy.safePlatform.targetDuty.entity.RewardPunishmentDetail; import com.gkhy.safePlatform.targetDuty.repository.RewardPunishmentStandardRepository; import com.gkhy.safePlatform.targetDuty.service.RewardPunishmentDetailService; import com.gkhy.safePlatform.targetDuty.service.baseService.RewardPunishmentDetailBaseService; import com.gkhy.safePlatform.targetDuty.service.baseService.RewardPunishmentStandardBaseService; import com.gkhy.safePlatform.targetDuty.utils.DateUtils; import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelUtil; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.targetDuty.model.dto.req.RewardPunishmentDetailQueryCriteria; import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentDetailDto; import com.gkhy.safePlatform.targetDuty.utils.QueryHelpPlus; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.Serializable; import java.net.URLEncoder; import java.util.*; /** * 奖惩记录(RewardPunishmentDetail)表服务实现类 * * @author xurui * @since 2022-07-21 10:15:45 */ @Service("rewardPunishmentDetailService") public class RewardPunishmentDetailServiceImpl implements RewardPunishmentDetailService { @Autowired private RewardPunishmentDetailBaseService rewardPunishmentDetailBaseService; @Autowired private RewardPunishmentStandardBaseService rewardPunishmentStandardBaseService; @Autowired public HttpServletResponse response; @Override public ResultVO queryAll(PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); Long pageIndex = pageQuery.getPageIndex(); Long pageSize = pageQuery.getPageSize(); IPage page = new Page<>(pageIndex, pageSize); page = rewardPunishmentDetailBaseService.queryAll(page, pageQuery.getSearchParams().getPersonId()); // List respList = BeanCopyUtils.copyBeanList(page.getRecords(), RewardPunishmentDetailDto.class); return new SearchResultVO<>( true, pageIndex, pageSize,page.getPages(), page.getTotal(), page.getRecords(), ResultCodes.OK ); } @Override public List queryAll(RewardPunishmentDetailQueryCriteria criteria) { return rewardPunishmentDetailBaseService.queryAll( criteria); } @Override public List queryAllRelation(RewardPunishmentDetailQueryCriteria criteria) { return rewardPunishmentDetailBaseService.queryAll(criteria.getPersonId()); } @Override public RewardPunishmentDetailDto selectOne(Serializable id) { RewardPunishmentDetail info = rewardPunishmentDetailBaseService.getById(id); if(info == null){ return null; } RewardPunishmentDetailDto dto = BeanCopyUtils.copyBean(info, RewardPunishmentDetailDto.class); RewardPunishmentStandard standard = rewardPunishmentStandardBaseService.getOne(new QueryWrapper().eq("id",dto.getRewardPunishmentStandardId())); dto.setRewardPunishmentStandardName(standard.getqName()); return dto; } @Override public void delete(Long[] ids) { if(ids == null){ throw new TargetDutyException(ResultCodes.CLIENT_PARAM_ILLEGAL); } List idList = Arrays.asList(ids); List delList = new ArrayList<>(); idList.forEach(f->{ RewardPunishmentDetail info = new RewardPunishmentDetail(); info.setDelFlag(1); info.setId(f); delList.add(info); }); rewardPunishmentDetailBaseService.updateBatchById(delList); } @Override 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(this.queryAllRelation(queryCriteria), RewardPunishmentDetailExcel.class); ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD); response.getOutputStream().close(); } }