songhuangfeng123
2022-09-08 bfb4c1e1d4e3f99f74a51ef5b67531f9d91d0dde
goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/RewardPunishmentStandardServiceImpl.java
@@ -3,9 +3,18 @@
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;
@@ -16,8 +25,12 @@
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 java.util.List;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.*;
/**
 * (RewardPunishmentStandard)表服务实现类
@@ -26,20 +39,23 @@
 * @since 2022-07-21 10:20:10
 */
@Service("rewardPunishmentStandardService")
public class RewardPunishmentStandardServiceImpl extends ServiceImpl<RewardPunishmentStandardRepository, RewardPunishmentStandard> implements RewardPunishmentStandardService {
public class RewardPunishmentStandardServiceImpl implements RewardPunishmentStandardService {
    @Autowired
    private RewardPunishmentStandardRepository rewardPunishmentStandardRepository;
    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 = baseMapper.selectPage(page,
        page = rewardPunishmentStandardBaseService.selectPage(page,
                QueryHelpPlus.getPredicate(RewardPunishmentStandard.class, pageQuery.getSearchParams()));
        List<RewardPunishmentStandardDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), RewardPunishmentStandardDto.class);
@@ -56,6 +72,82 @@
    @Override
    public List<RewardPunishmentStandard> queryAll(RewardPunishmentStandardQueryCriteria criteria) {
        return baseMapper.selectList(QueryHelpPlus.getPredicate(RewardPunishmentStandard.class, 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();
    }
}