package com.gkhy.safePlatform.targetDuty.service.impl;
|
|
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.excepiton.TargetDutyException;
|
import com.gkhy.safePlatform.targetDuty.model.dto.req.RewardPunishmentStandardImportExcel;
|
import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentStandardExcel;
|
import com.gkhy.safePlatform.targetDuty.repository.RewardPunishmentStandardRepository;
|
import com.gkhy.safePlatform.targetDuty.entity.RewardPunishmentStandard;
|
import com.gkhy.safePlatform.targetDuty.service.RewardPunishmentStandardService;
|
import com.gkhy.safePlatform.targetDuty.service.baseService.RewardPunishmentStandardBaseService;
|
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.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.RewardPunishmentStandardQueryCriteria;
|
import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentStandardDto;
|
import com.gkhy.safePlatform.targetDuty.utils.QueryHelpPlus;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.net.URLEncoder;
|
import java.util.*;
|
|
/**
|
* (RewardPunishmentStandard)表服务实现类
|
*
|
* @author xurui
|
* @since 2022-07-21 10:20:10
|
*/
|
@Service("rewardPunishmentStandardService")
|
public class RewardPunishmentStandardServiceImpl implements RewardPunishmentStandardService {
|
|
@Autowired
|
private RewardPunishmentStandardBaseService rewardPunishmentStandardBaseService;
|
|
@Autowired
|
public HttpServletResponse response;
|
|
|
@Override
|
public ResultVO queryAll(PageQuery<RewardPunishmentStandardQueryCriteria> pageQuery) {
|
PageUtils.checkCheck(pageQuery);
|
Long pageIndex = pageQuery.getPageIndex();
|
Long pageSize = pageQuery.getPageSize();
|
IPage<RewardPunishmentStandard> page = new Page<>(pageIndex, pageSize);
|
|
page = rewardPunishmentStandardBaseService.selectPage(page,
|
QueryHelpPlus.getPredicate(RewardPunishmentStandard.class, pageQuery.getSearchParams()));
|
List<RewardPunishmentStandardDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), RewardPunishmentStandardDto.class);
|
|
return new SearchResultVO<>(
|
true,
|
pageIndex,
|
pageSize,page.getPages(),
|
page.getTotal(),
|
respList,
|
ResultCodes.OK
|
);
|
}
|
|
|
@Override
|
public List<RewardPunishmentStandard> queryAll(RewardPunishmentStandardQueryCriteria criteria) {
|
return rewardPunishmentStandardBaseService.queryAll(criteria);
|
}
|
|
@Override
|
public void importData(MultipartFile file) throws IOException {
|
String contentType = file.getContentType();
|
if(!"application/vnd.ms-excel".equals(contentType)
|
&& !"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) {
|
throw new TargetDutyException("上传的excel格式错误");
|
}
|
|
Collection<RewardPunishmentStandardImportExcel> importExcel = ExcelUtil.importExcel(RewardPunishmentStandardImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0);
|
|
if (CollectionUtils.isEmpty(importExcel)) {
|
return ;
|
}
|
|
List<RewardPunishmentStandard> respList = BeanCopyUtils.copyBeanList((List<RewardPunishmentStandardImportExcel>)importExcel, RewardPunishmentStandard.class);
|
|
rewardPunishmentStandardBaseService.saveBatch(respList);
|
}
|
|
@Override
|
public void delete(Long[] ids) {
|
if(ids == null){
|
throw new TargetDutyException(ResultCodes.CLIENT_PARAM_ILLEGAL);
|
}
|
List<Long> idList = Arrays.asList(ids);
|
|
List<RewardPunishmentStandard> delList = new ArrayList<>();
|
idList.forEach(f->{
|
RewardPunishmentStandard info = new RewardPunishmentStandard();
|
info.setDelFlag(1);
|
info.setId(f);
|
delList.add(info);
|
});
|
rewardPunishmentStandardBaseService.updateBatchById(delList);
|
}
|
|
@Override
|
public void exportTemplate() throws IOException {
|
Map<String,String> map = new LinkedHashMap<>();
|
map.put("1","奖惩名称");
|
map.put("2","奖惩类型 1:奖励 2:惩罚");
|
map.put("3","奖惩内容");
|
map.put("4","依据");
|
map.put("5","备注");
|
|
String fileName = URLEncoder.encode("奖惩标准设定数据导入模板.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");
|
|
ExcelUtil.exportExcel(map,new ArrayList<>() , response.getOutputStream());
|
response.getOutputStream().close();
|
}
|
|
@Override
|
public void exportData(RewardPunishmentStandardQueryCriteria queryCriteria) throws IOException {
|
Map<String,String> 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<RewardPunishmentStandardExcel> respList = BeanCopyUtils.copyBeanList(this.queryAll(queryCriteria), RewardPunishmentStandardExcel.class);
|
|
ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD);
|
response.getOutputStream().close();
|
}
|
}
|