From 852d294263831752a184fa8a16f33aafee7ba309 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 29 一月 2026 13:48:43 +0800
Subject: [PATCH] 不合格管理:新增OA审核状态、物料属性,时间区间字段;以及导出功能
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java | 67 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
index d4c2a25..bd46323 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
@@ -1,6 +1,10 @@
package com.ruoyi.inspect.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.io.IoUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -10,6 +14,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.oa.OAProcess;
import com.ruoyi.common.oa.OAProperty;
import com.ruoyi.common.oa.OAResult;
@@ -18,6 +23,7 @@
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.PushOADto;
import com.ruoyi.inspect.dto.UnqualifiedHandlerDto;
+import com.ruoyi.inspect.excel.InsUnqualifiedHandlerExcelData;
import com.ruoyi.inspect.mapper.InsOrderMapper;
import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerMapper;
import com.ruoyi.inspect.pojo.CommonOa;
@@ -29,18 +35,27 @@
import com.ruoyi.inspect.service.InsUnqualifiedHandlerService;
import com.ruoyi.inspect.vo.UnqualifiedHandlerVO;
import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.ISysDictDataService;
+import com.ruoyi.system.service.ISysDictTypeService;
import com.ruoyi.system.service.UserService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @author 27233
@@ -60,11 +75,61 @@
private InsUnqualifiedHandlerFileService insUnqualifiedHandlerFileService;
@Resource
private InsOrderMapper insOrderMapper;
+ @Resource
+ private ISysDictTypeService sysDictTypeService;
@Override
public IPage<UnqualifiedHandlerVO> pageList(Page page, UnqualifiedHandlerDto unqualifiedHandlerDto) {
- return baseMapper.selectPageList(page, QueryWrappers.queryWrappers(unqualifiedHandlerDto));
+ String feedbackStartDate = unqualifiedHandlerDto.getFeedbackStartTime();
+ String feedbackEndDate = unqualifiedHandlerDto.getFeedbackEndTime();
+ unqualifiedHandlerDto.setFeedbackStartTime(null);
+ unqualifiedHandlerDto.setFeedbackEndTime(null);
+ return baseMapper.selectPageList(page, QueryWrappers.queryWrappers(unqualifiedHandlerDto),feedbackStartDate,feedbackEndDate);
+ }
+
+ @Override
+ public void exportUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto, HttpServletResponse response) {
+ response.reset();
+ try{
+ //鏌ヨ瀛楀吀
+ List<SysDictData> materialPropType = sysDictTypeService.selectDictDataByType("material_prop_type");
+ //鏌ヨ涓嶅悎鏍煎鐞嗚褰�
+ IPage<UnqualifiedHandlerVO> pageList = pageList(new Page<>(-1, -1), unqualifiedHandlerDto);
+ List<InsUnqualifiedHandlerExcelData> records = pageList.getRecords().stream().map(m->{
+ InsUnqualifiedHandlerExcelData handlerExcelData = new InsUnqualifiedHandlerExcelData();
+ BeanUtil.copyProperties(m,handlerExcelData);
+ handlerExcelData.setMaterialProp(materialPropType.stream().filter(f-> StringUtils.equals(f.getDictValue(),handlerExcelData.getMaterialProp())).findFirst().orElse(new SysDictData()).getDictLabel());
+ if(StringUtils.equals(handlerExcelData.getClassification(),"0")){
+ handlerExcelData.setClassification("涓�绫讳笉鍚堟牸");
+ }else if(StringUtils.equals(handlerExcelData.getClassification(),"1")){
+ handlerExcelData.setClassification("浜岀被涓嶅悎鏍�");
+ }
+ if(StringUtils.equals(handlerExcelData.getOffGradeAscription(),"0")){
+ handlerExcelData.setOffGradeAscription("鐢熶骇鍙嶉涓嶅悎鏍�");
+ }else if(StringUtils.equals(handlerExcelData.getOffGradeAscription(),"1")){
+ handlerExcelData.setOffGradeAscription("妫�娴嬩笉鍚堟牸");
+ }
+ return handlerExcelData;
+ }).collect(Collectors.toList());
+ //璁剧疆response
+ String fileName = "涓嶅悎鏍煎鐞嗚褰�" + ExcelTypeEnum.XLSX.getValue();
+ fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString());
+ response.setContentType("application/vnd.ms-excel");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+ response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
+ //瀵煎嚭
+
+ EasyExcel.write(response.getOutputStream(), InsUnqualifiedHandlerExcelData.class)
+ .sheet()
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+ .doWrite(records);
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new RuntimeException("涓嶅悎鏍煎鐞嗚褰曞鍑哄け璐�");
+ }
+
}
@Override
--
Gitblit v1.9.3