Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong

This commit is contained in:
guoshengxiong 2024-06-06 17:53:44 +08:00
commit 183665b000
6 changed files with 86 additions and 4 deletions

View File

@ -314,6 +314,15 @@ public class DownloadController {
workerInfoService.exporExcelWorkerTemplate(response, projectSn); workerInfoService.exporExcelWorkerTemplate(response, projectSn);
} }
@ApiOperation(value = "按模版导出人员安全教育信息", notes = "按模版导出人员安全教育信息", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "workerId", value = "劳务人员ID", paramType = "query", required = true, dataType = "String"),
})
@GetMapping(value = "/exporExcelWorkerEducation")
public void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId) {
workerInfoService.exporExcelWorkerEducation(response, workerId, workerEduId);
}
@ApiOperation(value = "题库导入模板下载", notes = "题库导入模板下载", httpMethod = "GET") @ApiOperation(value = "题库导入模板下载", notes = "题库导入模板下载", httpMethod = "GET")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"),

View File

@ -1123,6 +1123,7 @@
<select id="viewWorkerInfoDetail" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map"> <select id="viewWorkerInfoDetail" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map">
SELECT a.*, SELECT a.*,
b.team_name, b.team_name,
b.worker_type_id,
c.department_name, c.department_name,
en.enterprise_name, en.enterprise_name,
p.project_name, p.project_name,

View File

@ -97,6 +97,8 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
void exporExcelWorkerTemplate(HttpServletResponse response, String projectSn); void exporExcelWorkerTemplate(HttpServletResponse response, String projectSn);
void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId);
Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn); Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn);
Map<String, Object> selectProjectWorkerPageList(Map<String, Object> map); Map<String, Object> selectProjectWorkerPageList(Map<String, Object> map);

View File

@ -124,6 +124,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
@Autowired @Autowired
private WorkerInfoMapper workerInfoMapper; private WorkerInfoMapper workerInfoMapper;
@Autowired @Autowired
private WorkerSafeEducationWorkerMapper workerSafeEducationWorkerMapper;
@Autowired
private IProjectUfaceConfigService projectUfaceConfigService; private IProjectUfaceConfigService projectUfaceConfigService;
@Autowired @Autowired
private CompanyMapper companyMapper; private CompanyMapper companyMapper;
@ -1601,6 +1603,17 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
ExcelUtils.exporExcelWorkerTemplate(response, teamList, departmentList); ExcelUtils.exporExcelWorkerTemplate(response, teamList, departmentList);
} }
@Override
public void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId) {
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("workerId", workerId);
EntityMap entityMap = workerInfoMapper.viewWorkerInfoDetail(requestMap);
WorkerType workerType = workerTypeMapper.selectById(entityMap.get("workerTypeId"));
WorkerSafeEducationWorker workerSafeEducationWorker = workerSafeEducationWorkerMapper.selectOne(Wrappers.<WorkerSafeEducationWorker>lambdaQuery()
.eq(WorkerSafeEducationWorker::getId, workerEduId));
ExcelUtils.exporExcelWorkerEducation(response, entityMap, workerSafeEducationWorker, workerType);
}
@Override @Override
public Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn) { public Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn) {
Result<String> result = new Result<String>(); Result<String> result = new Result<String>();

View File

@ -2,19 +2,20 @@ package com.zhgd.xmgl.util;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.exam.entity.ExamSubject; import com.zhgd.xmgl.modules.exam.entity.ExamSubject;
import com.zhgd.xmgl.modules.worker.entity.WorkerSafeEducationWorker;
import com.zhgd.xmgl.modules.worker.entity.WorkerType;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
@ -251,6 +252,62 @@ public class ExcelUtils {
} }
} }
public static void exporExcelWorkerEducation(HttpServletResponse response, Map<String, Object> map, WorkerSafeEducationWorker workerSafeEducationWorker, WorkerType workerType) {
try {
ClassPathResource classPathResource = new ClassPathResource("excel/工人教育档案.xlsx");
InputStream inputStream = classPathResource.getInputStream();
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
XSSFSheet sheet = workbook.getSheet("教育档案");
map.put("sex", MapUtils.getIntValue(map, "sex") == 1 ? "" : "");
Map<String, Object> placeholderMap = new HashMap<>();
for (String s : map.keySet()) {
placeholderMap.put("${" + s +"}", map.get(s));
}
placeholderMap.put("${studyTime}", workerSafeEducationWorker.getStudyTime());
placeholderMap.put("${score}", workerSafeEducationWorker.getScore());
placeholderMap.put("${workerTypeName}", workerType.getTypeName());
// 替换占位符
for (Row row : sheet) {
for (Cell cell : row) {
if (cell.getCellType() == CellType.STRING) {
String cellValue = cell.getStringCellValue();
for (String placeholder : placeholderMap.keySet()) {
if (cellValue.contains(placeholder)) {
cellValue = cellValue.replace(placeholder, placeholderMap.get(placeholder).toString());
cell.setCellValue(cellValue);
}
}
}
}
}
picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 9, 15, 13, 15);
picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 20, 28, 1, 7);
picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 20, 28, 9, 15);
downLoadExcel("工人教育档案.xlsx", response, workbook);
} catch (IOException e) {
log.error("error", e);
}
}
private static void picture(String path, XSSFSheet sheet, int startRow, int endRow, int startCol, int endCol) {
try {
InputStream inputStreamPic = new FileInputStream(path);
byte[] imageBytes = IOUtils.toByteArray(inputStreamPic);
Drawing<?> drawing = sheet.createDrawingPatriarch();//用于在工作表上创建绘图对象
// 将图片插入单元格
int pictureIdx = sheet.getWorkbook().addPicture(imageBytes, Workbook.PICTURE_TYPE_JPEG);
CreationHelper helper = sheet.getWorkbook().getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();//用于指定图片的位置
anchor.setCol1(startCol);//指定其实位置
anchor.setRow1(startRow);
anchor.setCol2(endCol);//指定结束位置
anchor.setRow2(endRow);
drawing.createPicture(anchor, pictureIdx);//用于创建图片对象
} catch (IOException e) {
log.error("error", e);
}
}
public static void exporExcelExamQuestionBankTemplate(HttpServletResponse response, List<ExamSubject> subjectList) { public static void exporExcelExamQuestionBankTemplate(HttpServletResponse response, List<ExamSubject> subjectList) {
try { try {
ClassPathResource classPathResource = new ClassPathResource("excel/题库导入模版.xlsx"); ClassPathResource classPathResource = new ClassPathResource("excel/题库导入模版.xlsx");

Binary file not shown.