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);
|
||||
}
|
||||
|
||||
@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")
|
||||
@ApiImplicitParams({
|
||||
@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 a.*,
|
||||
b.team_name,
|
||||
b.worker_type_id,
|
||||
c.department_name,
|
||||
en.enterprise_name,
|
||||
p.project_name,
|
||||
|
||||
@ -97,6 +97,8 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
||||
|
||||
void exporExcelWorkerTemplate(HttpServletResponse response, String projectSn);
|
||||
|
||||
void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId);
|
||||
|
||||
Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn);
|
||||
|
||||
Map<String, Object> selectProjectWorkerPageList(Map<String, Object> map);
|
||||
|
||||
@ -124,6 +124,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
@Autowired
|
||||
private WorkerInfoMapper workerInfoMapper;
|
||||
@Autowired
|
||||
private WorkerSafeEducationWorkerMapper workerSafeEducationWorkerMapper;
|
||||
@Autowired
|
||||
private IProjectUfaceConfigService projectUfaceConfigService;
|
||||
@Autowired
|
||||
private CompanyMapper companyMapper;
|
||||
@ -1601,6 +1603,17 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
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
|
||||
public Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn) {
|
||||
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.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 org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.XSSFCell;
|
||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.usermodel.*;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
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) {
|
||||
try {
|
||||
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