Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong
This commit is contained in:
commit
183665b000
@ -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"),
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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>();
|
||||||
|
|||||||
@ -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");
|
||||||
|
|||||||
BIN
src/main/resources/excel/工人教育档案.xlsx
Normal file
BIN
src/main/resources/excel/工人教育档案.xlsx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user