南网,epc和国网模板下載更新

This commit is contained in:
fl 2025-06-23 18:21:38 +08:00
parent 8d6c4bd006
commit 6eb3015cac
17 changed files with 401 additions and 906 deletions

View File

@ -5,6 +5,7 @@ import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author fly
@ -69,6 +70,9 @@ public class ComCorePersonBean extends PersonFileBean{
*/
private String diplomaNum;
//新证件存储
private List<TbCertificationVo> certList;
/**
* 学历
*/
@ -115,4 +119,9 @@ public class ComCorePersonBean extends PersonFileBean{
*/
private List<TbCompanyPerfVo> peoplePerfList;
/**
* 电话
*/
private String userPhone;
}

View File

@ -47,11 +47,6 @@ public class ComOtherPersonBean extends PersonFileBean{
*/
private String diploma;
/**
* 专业
*/
private String major;
/**
* 证书编号
*/
@ -62,6 +57,16 @@ public class ComOtherPersonBean extends PersonFileBean{
*/
private String level;
//新证件存储
private List<TbCertificationVo> certList;
/**
* 专业
*/
private String major;
/**
* 保险

View File

@ -71,6 +71,57 @@ public class ComPerformanceBean {
*/
private String ownerPhone;
/**
* 业绩项目经理名字
*/
private String managerName;
/**
* 开工日期
*/
private String startTime;
/**
* 发包人地址
*/
private String projectLocation;
/**
* 开工日期
*/
private String ownerLocation;
/**
* 合同价格
*/
private String money;
/**
* 工程质量
*/
private String engineeringQuality;
/**
* 技术负责人
*/
private String technicalLead;
/**
* 总监理工程师及电话
*/
private String supervisingEngineer;
/**
* 项目概况
*/
private String projectSituation;
/**
* 备注
*/
private String remark;
/**
* 文件
*/

View File

@ -0,0 +1,32 @@
package com.bonus.tool.dto;
import lombok.Data;
import java.util.List;
/**
* @author fly
* @date 2025/4/23
* 分包商
*/
@Data
public class MapBean {
/**
* id
*/
private Long lid;
/**
* id
*/
private String sid;
/**
*
*/
private String name;
}

View File

@ -172,4 +172,9 @@ public class TbCompanyPerfVo {
* 项目概况
*/
private String projectSituation;
/**
* 项目概况
*/
private String workContent;
}

View File

@ -84,4 +84,9 @@ public class TbGwModelDto implements Serializable {
*/
private String endDate;
/**
* 是否技术标
*/
private String isJsb;
}

View File

@ -73,4 +73,9 @@ public class TbGwModelVo implements Serializable {
*/
private List<SubBean> subList;
/**
* 是否技术标 1.国网 2.EPC 3.南网
*/
private String isJsb;
}

View File

@ -4,10 +4,12 @@ import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.enums.TableType;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.common.utils.StringUtils;
import com.bonus.common.utils.uuid.IdUtils;
import com.bonus.tool.dto.*;
import com.bonus.tool.mapper.StateGridMapper;
import com.bonus.tool.mapper.TbCompanyPerfMapper;
import com.bonus.tool.service.StateGridService;
import com.bonus.tool.service.TbCertificationService;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.SnowflakeIdWorker;
import com.bonus.tool.template.util.WordUtils;
@ -36,6 +38,9 @@ public class StateGridServiceImpl implements StateGridService {
@Resource
private TbCompanyPerfMapper tbCompanyPerfMapper;
@Resource
private TbCertificationService tbCertificationService;
SnowflakeIdWorker idWorker = new SnowflakeIdWorker(1, 1);
/**
@ -145,9 +150,21 @@ public class StateGridServiceImpl implements StateGridService {
bean.setComPerfList(comPerfList);
//2.2获取公司核心人员
List<ComCorePersonBean> comCoreList = mapper.selectComCoreList(o.getId());
//2.2.1公司核心人员证件
comCoreList.forEach(item -> {
//获取附件信息
List<TbCertificationVo> tbCertificateList = tbCertificationService.getTbCertificateList(Long.parseLong(item.getUserId()), TableType.TB_KEY_PEOPLE.getCode());
item.setCertList(tbCertificateList);
});
bean.setComCoreList(comCoreList);
//2.2获取公司其他人员
//2.3获取公司其他人员
List<ComOtherPersonBean> comOtherList = mapper.selectComOtherList(o.getId());
//2.3.1公司其他人员证件
comOtherList.forEach(item -> {
//获取附件信息
List<TbCertificationVo> tbCertificateList = tbCertificationService.getTbCertificateList(item.getUserId(), TableType.TB_OTHER_PEOPLE.getCode());
item.setCertList(tbCertificateList);
});
bean.setComOtherList(comOtherList);
//3.1获取分包商列表
List<SubBean> subList = mapper.selectSubList(o.getId());
@ -209,6 +226,7 @@ public class StateGridServiceImpl implements StateGridService {
AjaxResult ajaxResult = getStateGridTempById(o);
if (ajaxResult.isSuccess()) {
TbGwModelVo data = (TbGwModelVo) ajaxResult.get("data");
data.setIsJsb(o.getIsJsb());
//将每种数据的文件查出来封装进去
//1.1公司业绩文件
data.getComPerfList().forEach(item -> {
@ -286,6 +304,13 @@ public class StateGridServiceImpl implements StateGridService {
List<Map<String, Object>> list3 = new ArrayList<>();
List<Map<String, Object>> list4 = new ArrayList<>();
List<Map<String, Object>> list5 = new ArrayList<>();
List<Map<String, Object>> list6 = new ArrayList<>(); // 拟投入项目经理项目负责人一览表
List<Map<String, Object>> list7 = new ArrayList<>(); // 本项目现场作业人员统计表
List<Map<String, Object>> list8 = new ArrayList<>(); // 拟派本项目项目经理项目负责人情况一览表
List<Map<String, Object>> list9 = new ArrayList<>(); // 项目经理证书等信息附件图片
List<Map<String, Object>> list10 = new ArrayList<>(); // 项目经理业绩证明
List<Map<String, Object>> list11 = new ArrayList<>(); // 投入本项目主要项目团队施工团队一览表
List<Map<String, Object>> list12 = new ArrayList<>(); // 投入本项目主要项目团队施工团队每个人的 证书图片及其他个人材料图片
// 设置标题等基础信息
data.put("title", tbData.getName());
@ -297,19 +322,33 @@ public class StateGridServiceImpl implements StateGridService {
map.put("i", ++index);
map.put("proName", item.getProName() != null ? item.getProName() : "");
map.put("dy", item.getVoltage() != null ? item.getVoltage() : "");
map.put("num", item.getStationNum() != null ? item.getStationNum() : "");
map.put("fr", item.getOwnerUnit() != null ? item.getOwnerUnit() : "");
map.put("line", item.getLineScale() != null ? item.getLineScale()+"km" : "");
map.put("date", item.getStopTime() != null ? item.getStopTime() : "");
map.put("fw", item.getContractRang() != null ? item.getContractRang() : "");
map.put("fr", item.getOwnerUnit() != null ? item.getOwnerUnit() : "");
map.put("phone", item.getOwnerPhone() != null ? item.getOwnerPhone() : "");
map.put("xmjl", item.getManagerName() != null ? item.getManagerName() : "");
// 近年完成的类似项目情况表
list.add(map);
// 处理业绩材料图片
//项目详情 + 项目合同关键页图片
Map<String, Object> map2 = new HashMap<>();
List<Map<String, Object>> imgList = new ArrayList<>(); // 项目合同关键页图片
map2.put("proName", item.getProName() != null ? item.getProName() : ""); // 项目名称
map2.put("voltageLevel", item.getVoltage() != null ? item.getProName() : ""); // 电压等级
map2.put("proLocation", item.getProjectLocation() != null ? item.getProjectLocation() : ""); // 项目所在地
map2.put("employerName", item.getOwnerUnit() != null ? item.getOwnerUnit() : ""); // 发包人名称
map2.put("employerAddress", item.getOwnerLocation() != null ? item.getOwnerLocation() : ""); // 发包人地址
map2.put("employerPhone",item.getOwnerPhone() != null ? item.getOwnerPhone() : ""); // 发包人电话
map2.put("contractPrice", item.getMoney() != null ? item.getMoney() : ""); // 合同价格
map2.put("startDate", item.getStartTime() != null ? item.getStartTime() : ""); // 开工日期
map2.put("endDate", item.getStopTime() != null ? item.getStopTime() : ""); // 竣工日期
map2.put("work", item.getContractRang() != null ? item.getContractRang() : ""); // 承担的工作
map2.put("proQuality", item.getEngineeringQuality() != null ? item.getEngineeringQuality() : ""); // 工程质量
map2.put("proManager", item.getManagerName() != null ? item.getManagerName() : ""); // 项目经理
map2.put("technicalDirector", item.getTechnicalLead() != null ? item.getTechnicalLead() : ""); // 技术负责人
map2.put("jlNamePhone", item.getSupervisingEngineer() != null ? item.getSupervisingEngineer() : ""); // 总监理工程师及电话
map2.put("proOverview", item.getProjectSituation() != null ? item.getProjectSituation() : ""); // 项目概况
map2.put("remark", item.getRemark() != null ? item.getRemark() : ""); // 备注
if (item.getFileList() != null && !item.getFileList().isEmpty()) {
Map<String, Object> perfImgMap = new HashMap<>();
perfImgMap.put("proName", index + "." + item.getProName());
List<Map<String, Object>> imgList = new ArrayList<>();
for (TbFileSourceVo file : item.getFileList()) {
Map<String, Object> imgMap = new HashMap<>();
imgMap.put("index", idWorker.nextId());
@ -319,13 +358,195 @@ public class StateGridServiceImpl implements StateGridService {
imgMap.put("base64Url", file.getFilePath() != null ? bast64: "");
imgList.add(imgMap);
}
perfImgMap.put("imgList", imgList);
list2.add(perfImgMap);
}
map2.put("imgList",imgList);
list2.add(map2);
}
}
//项目关键人员
if (tbData.getComCoreList() != null && !tbData.getComCoreList().isEmpty()) {
for (ComCorePersonBean item : tbData.getComCoreList()) {
// 拟投入项目经理项目负责人一览表
Map<String, Object> map = new HashMap<>();
map.put("bName", ""); // 标的名称
map.put("bdName", !item.getPeoplePerfList().isEmpty() ? item.getPeoplePerfList().get(0).getProName() : ""); // 标段名称
map.put("proManager", item.getUserName() != null ? item.getUserName() : ""); // 项目经理
map.put("aqCode", !item.getCertList().isEmpty() && item.getCertList().size() > 1 ? item.getCertList().get(1).getDiploma()+item.getCertList().get(1).getDiplomaNum() : ""); // 安全生产考核合格证B 编号
//默认取第一个证书
map.put("zcCode", !item.getCertList().isEmpty() ? item.getCertList().get(0).getDiploma()+item.getCertList().get(0).getDiplomaNum() : ""); // 注册证书及注册编号
map.put("zcMajor", item.getMajor() != null ? item.getMajor() : ""); // 注册专业
list6.add(map);
// 拟派本项目项目经理项目负责人情况一览表
Map<String, Object> map2 = new HashMap<>();
List<String> proList = new ArrayList<>();
List<Map<String, Object>> zjProList = new ArrayList<>();
map2.put("name", item.getUserName() != null ? item.getUserName() : ""); // 姓名
map2.put("sex", ""); // 性别
map2.put("age", item.getAge() != null ? item.getAge() : ""); // 年龄
map2.put("title", item.getTitle() != null ? item.getTitle() : ""); // 职称
map2.put("majorStudied", item.getMajor() != null ? item.getMajor() : ""); // 所学专业
map2.put("graduationSchool", item.getAlmaMater() != null ? item.getAlmaMater() : ""); // 毕业学校
map2.put("graduationTime", item.getAlmaMater() != null ? item.getAlmaMater().split("毕业于")[0] : ""); // 毕业时间
map2.put("zcCode", ""); // 注册建造师注册编号
map2.put("bCode", ""); // 项目经理项目负责人B证证书编号
map2.put("level", ""); // 项目经理项目负责人级别
if(item.getCertList() != null && !item.getCertList().isEmpty()){
item.getCertList().forEach(item2 -> {
if ("注册建造师".equals(item2.getDiploma())) {
map2.put("zcCode", item2.getDiploma()+item2.getDiplomaNum()); // 注册建造师注册编号
map2.put("level", item2.getLevel()); // 项目经理项目负责人级别
}
if ("项目经理B证".equals(item2.getDiploma())) {
map2.put("bCode", ""); // 项目经理项目负责人B证证书编号
}
});
}
map2.put("phone", item.getUserPhone() != null ? item.getUserPhone() : ""); // 联系电话
// 近年曾担任项目经理项目负责人的同类工程项目
proList.add(item.getProPerf());
map2.put("proList", proList);
StringBuilder mainJob = new StringBuilder();
if(item.getPeoplePerfList() != null && !item.getPeoplePerfList().isEmpty()){
List<TbCompanyPerfVo> peoplePerfList = item.getPeoplePerfList();
for (int i = 0; i < peoplePerfList.size(); i++) {
TbCompanyPerfVo item2 = peoplePerfList.get(i);
mainJob.append(item2.getWorkContent());
// 如果不是最后一个元素则追加分号和换行符如果是最后一个元素则只追加换行符
if (i != peoplePerfList.size() - 1) {
mainJob.append(";\n");
} else {
mainJob.append("\n");
}
}
}
// 近年来的主要工作业绩及担任的主要工作
map2.put("mainJob",mainJob);
// for (int j = 0; j < 1; j++) {
Map<String, Object> zjMap = new HashMap<>();
zjMap.put("manager",""); // 项目经理
zjMap.put("overView",""); // 项目概况
zjMap.put("date",""); // 开工日期
zjMap.put("unit",""); // 项目建设单位
zjMap.put("name",""); // 项目建设单位联系人
zjMap.put("phone",""); // 项目建设单位联系人电话
zjProList.add(zjMap);
// }
map2.put("zjProList", zjProList); // 担任项目经理的在建项目--没有的默认都为无
list8.add(map2);
// 项目经理证书等信息附件图片
List<TbFileSourceVo> managerCerList = new ArrayList<>();
if(!item.getCertList().isEmpty()){
item.getCertList().forEach(item2 -> {
managerCerList.addAll(item2.getTbFileSourceVoList());
});
}
managerCerList.addAll(item.getOtherFileList());
for (TbFileSourceVo file : managerCerList) {
Map<String, Object> imgMap = new HashMap<>();
imgMap.put("index", IdUtils.fastSimpleUUID());
imgMap.put("width", "481.15");
imgMap.put("height", "634.5");
imgMap.put("base64Url", file.getFilePath() != null ? FreeMarkerUtil.getImageBase(filePath+file.getFilePath()) : "");
list9.add(imgMap);
}
// 项目经理业绩证明
if(item.getPeoplePerfList() != null && !item.getPeoplePerfList().isEmpty()){
item.getPeoplePerfList().forEach(item2 -> {
Map<String, Object> map3 = new HashMap<>();
List<Map<String, Object>> imgList = new ArrayList<>(); // 项目合同关键页图片
map3.put("proName", item2.getProName() != null ? item2.getProName() : ""); // 项目名称
if(item2.getTbFileSourceVoList() != null &&!item2.getTbFileSourceVoList().isEmpty()){
item2.getTbFileSourceVoList().forEach(item3 -> {
Map<String, Object> imgMap = new HashMap<>();
imgMap.put("index", IdUtils.fastSimpleUUID());
imgMap.put("width", "481.15");
imgMap.put("height", "634.5");
try {
imgMap.put("base64Url", item3.getFilePath() != null ? FreeMarkerUtil.getImageBase(filePath+item3.getFilePath()) : "");
} catch (Exception e) {
imgMap.put("base64Url", "");
throw new RuntimeException(e);
}
imgList.add(imgMap);
});
}
map3.put("imgList",imgList);
list10.add(map3);
});
}
}
}
//本项目现场作业人员统计表
if (tbData.getComOtherList() != null && !tbData.getComOtherList().isEmpty()) {
for (ComOtherPersonBean item : tbData.getComOtherList()) {
Map<String, Object> map = new HashMap<>();
map.put("name", item.getUserName() != null ? item.getUserName() : "" ); // 姓名
map.put("position", item.getPostName() != null ? item.getPostName() : "" ); // 工作岗位
map.put("code", !item.getCertList().isEmpty() ? item.getCertList().get(0).getDiploma()+item.getCertList().get(0).getDiplomaNum() : ""); // 职业资格及证书号
map.put("zc", item.getTitle() != null ? item.getTitle() : "" ); // 职称\技能
map.put("major",item.getMajor() != null ? item.getMajor() : "" ); // 专业
map.put("zsCode", item.getDiplomaNum() != null ? item.getDiplomaNum() : ""); // 证书号
map.put("post", item.getPostName() != null ? item.getPostName() : ""); // 工种
map.put("tsCode", ""); // 特殊作业操作证书号
map.put("dwCode", ""); // 电网建设作业人员资格认定证书号
list7.add(map);
}
}
// 投入本项目主要项目团队施工团队一览表
if (tbData.getComOtherList() != null && !tbData.getComOtherList().isEmpty()) {
for (ComOtherPersonBean item : tbData.getComOtherList()) {
Map<String, Object> map = new HashMap<>();
List<String> proList = new ArrayList<>();
map.put("name", item.getUserName() != null ? item.getUserName() : ""); // 姓名
map.put("sex", ""); // 性别
map.put("age", ""); // 年龄
map.put("title", item.getTitle() != null ? item.getTitle() : ""); // 职称
map.put("majorStudied", item.getMajor() != null ? item.getMajor() : ""); // 所学专业
map.put("graduationSchool", ""); // 毕业学校
map.put("zcCode", !item.getCertList().isEmpty() ? item.getCertList().get(0).getDiploma()+item.getCertList().get(0).getDiplomaNum():""); // 注册名称及证书编号
map.put("job", item.getPostName() != null ? item.getPostName() : ""); // 担任的工作
// 近年来同类工程的主要工作业绩及担任的主要工作
// for (int j = 0; j < 2; j++) {
// proList.add("");
// }
map.put("proList", proList);
list11.add(map);
// 投入本项目主要项目团队施工团队-项目副经理证书图片及其他个人材料图片
Map<String, Object> map2 = new HashMap<>();
List<Map<String, Object>> imgList = new ArrayList<>(); // 项目副经理证书图片及其他个人材料图片
map.put("title", item.getTitle() != null ? item.getTitle() : ""); // 项目名称
item.getOtherFileList().forEach(item2 -> {
Map<String, Object> imgMap = new HashMap<>();
try {
imgMap.put("index", IdUtils.fastSimpleUUID());
imgMap.put("width", "481.15");
imgMap.put("height", "634.5");
imgMap.put("base64Url", item2.getFilePath() != null ? FreeMarkerUtil.getImageBase(filePath+item2.getFilePath()) : "");
} catch (Exception e) {
imgMap.put("base64Url", "");
throw new RuntimeException(e);
}
imgList.add(imgMap);
});
map2.put("imgList",imgList);
list12.add(map2);
}
}
// 处理分包商数据(核心分包商业绩证明)
if (tbData.getSubList() != null && !tbData.getSubList().isEmpty()) {
int subIndex = 1;
@ -697,7 +918,18 @@ public class StateGridServiceImpl implements StateGridService {
data.put("list3", list3);
data.put("list4", list4);
data.put("list5", list5);
WordUtils.exportMillCertificateWord(request,response,data,tbData.getName(),"GW_DOC.ftl" );
data.put("list6", list6);
data.put("list7", list7);
data.put("list8", list8);
data.put("list9", list9);
data.put("list10", list10);
data.put("list11", list11);
data.put("list12", list12);
if("1".equals(tbData.getIsJsb())){
WordUtils.exportMillCertificateWord(request,response,data,tbData.getName(),"GW_DOC_JSB.ftl" );
}else{
WordUtils.exportMillCertificateWord(request,response,data,tbData.getName(),"GW_DOC.ftl" );
}
} catch (Exception e) {
log.error("处理国网模版下载数据失败", e);
}

View File

@ -1,133 +0,0 @@
package com.bonus.tool.template;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.WordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className:Test
* @author:cwchen
* @date:2025-04-25-17:05
* @version:1.0
* @description:
*/
@Slf4j
public class TestEPC {
public static void download() {
Map<String, Object> data = new HashMap<>(16);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
String fileName = null;
try {
data.put("title","中老500千伏联网项目老挝段EPC总承包项目投标技术文件");
data.put("Introduction","项目经理、设计负责人、采购负责人、施工负责人、商务负责人等主要负责人");
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i",i + 1);
map.put("zw","项目经理");
map.put("name","王杰" + (i + 1));
map.put("zc","工程师");
map.put("zsmc","建造师证");
map.put("level","一级");
map.put("zh","云1532016201673770");
map.put("zy","机电工程");
map.put("ylbx","正常");
map.put("bz","");
list.add(map);
}
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("hasJj",true);
if(i == 0 || i== 3){
map.put("zy","项目经理简介");
map.put("hasJj",true);
}else{
map.put("zy","项目经理");
map.put("hasJj",false);
}
map.put("name","王杰" + (i + 1));
map.put("age","13");
map.put("xl","本科");
map.put("zc","工程师");
map.put("zw","职务");
map.put("rz","项目经理");
map.put("byxx","2007年6月毕业于三峡大学机械设计制造及其自动化专业");
map.put("Introduction","项目经理简历表");
List<Map<String,Object>> infoList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map2 = new HashMap<>();
map2.put("time","2019.3-2020.12");
map2.put("xm","乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
map2.put("zy","项目经理");
map2.put("lxr","云南电网建设分公司\n" +
"0871-63011815");
infoList.add(map2);
}
List<Map<String,Object>> imgList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("width","4959860");
map3.put("height","3492375");
map3.put("index",(100 * (i + 1)) + (j + 1));
if(j == 0){
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片3.png"));
}else if(j == 1){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片4.png"));
}else if(j == 2){
map3.put("width","5325745");
map3.put("height","7534910");
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
}
if(i == 0 && j == 0){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}
imgList.add(map3);
}
map.put("yjTitle","项目经理业绩");
List<Map<String,Object>> yjList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("yj","业绩" + (j + 1) + "" + "乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
List<Map<String,Object>> imgList2 = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map4 = new HashMap<>();
map4.put("index",(10000 * (j + 1)) + (k + 1));
map4.put("width","5325745");
map4.put("height","7534910");
map4.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList2.add(map4);
}
map3.put("imgList",imgList2);
yjList.add(map3);
}
map.put("infoList",infoList);
map.put("imgList",imgList);
map.put("yjList",yjList);
list2.add(map);
}
data.put("list",list);
data.put("list2",list2);
WordUtils.exportMillCertificateWord2(null,null, data, "test", "EPC.ftl","C:\\Users\\10488\\Desktop\\test (2)\\");
} catch (Exception e) {
log.error("EPC下载", e);
}
}
public static void main(String[] args) {
download();
}
public static String handleValue(String value){
if(StringUtils.isBlank(value)){
return "";
}
return value;
}
}

View File

@ -1,133 +0,0 @@
package com.bonus.tool.template;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.WordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className:Test
* @author:cwchen
* @date:2025-04-25-17:05
* @version:1.0
* @description:
*/
@Slf4j
public class TestEPCDOC {
public static void download() {
Map<String, Object> data = new HashMap<>(16);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
String fileName = null;
try {
data.put("title","中老500千伏联网项目老挝段EPC总承包项目投标技术文件");
data.put("Introduction","项目主要负责人");
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i",i + 1);
map.put("zw","项目经理");
map.put("name","王杰" + (i + 1));
map.put("zc","工程师");
map.put("zsmc","建造师证");
map.put("level","一级");
map.put("zh","云1532016201673770");
map.put("zy","机电工程");
map.put("ylbx","正常");
map.put("bz","");
list.add(map);
}
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("hasJj",true);
if(i == 0 || i== 3){
map.put("zy","项目经理简介");
map.put("hasJj",true);
}else{
map.put("zy","项目经理");
map.put("hasJj",false);
}
map.put("name","王杰" + (i + 1));
map.put("age","13");
map.put("xl","本科");
map.put("zc","工程师");
map.put("zw","职务");
map.put("rz","项目经理");
map.put("byxx","2007年6月毕业于三峡大学机械设计制造及其自动化专业");
map.put("Introduction","项目经理简历表");
List<Map<String,Object>> infoList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map2 = new HashMap<>();
map2.put("time","2019.3-2020.12");
map2.put("xm","乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
map2.put("zy","项目经理");
map2.put("lxr","云南电网建设分公司\n" +
"0871-63011815");
infoList.add(map2);
}
List<Map<String,Object>> imgList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("width", "375.35");
map3.put("height", "207.85");
map3.put("index",(100 * (i + 1)) + (j + 1));
if(j == 0){
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}else if(j == 1){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}else if(j == 2){
map3.put("width", "481.15");
map3.put("height", "634.5");
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}
if(i == 0 && j == 0){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}
imgList.add(map3);
}
map.put("yjTitle","项目经理业绩");
List<Map<String,Object>> yjList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("yj","业绩" + (j + 1) + "" + "乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
List<Map<String,Object>> imgList2 = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map4 = new HashMap<>();
map4.put("index",(10000 * (j + 1)) + (k + 1));
map4.put("width", "481.15");
map4.put("height", "634.5");
map4.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
imgList2.add(map4);
}
map3.put("imgList",imgList2);
yjList.add(map3);
}
map.put("infoList",infoList);
map.put("imgList",imgList);
map.put("yjList",yjList);
list2.add(map);
}
data.put("list",list);
data.put("list2",list2);
WordUtils.exportMillCertificateWord2(null,null, data, "test", "EPC_DOC.ftl","C:\\Users\\10488\\Desktop\\检索工具\\");
} catch (Exception e) {
log.error("EPC下载", e);
}
}
public static void main(String[] args) {
download();
}
public static String handleValue(String value){
if(StringUtils.isBlank(value)){
return "";
}
return value;
}
}

View File

@ -1,325 +0,0 @@
package com.bonus.tool.template;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.WordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className:Test
* @author:cwchen
* @date:2025-04-25-17:05
* @version:1.0
* @description:
*/
@Slf4j
public class TestGW {
public static void download() {
Map<String, Object> data = new HashMap<>(16);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
List<Map<String, Object>> list3 = new ArrayList<>();
List<Map<String, Object>> list4 = new ArrayList<>();
List<Map<String, Object>> list5 = new ArrayList<>();
try {
data.put("title", "中老500千伏联网项目老挝段EPC总承包项目投标技术文件");
// 近年完成的类似项目情况表
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i", i + 1);
map.put("proName", "博诺思测试项目" + (i + 1));
map.put("dy", "±800kV");
map.put("num", "");
map.put("line", "75.95km");
map.put("date", "2018年07月17日");
map.put("fw", "线路施工");
map.put("fr", "中国南方电网有限责任公司超高压输电公司");
map.put("phone", "020-38123423");
list.add(map);
}
// 近年完成的类似项目情况-材料图片
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();
map.put("proName", (i + 1) + "." + "博诺思测试项目" + (i + 1));
List<Map<String, Object>> imgList = new ArrayList<>();
for (int j = 0; j < 3; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("index", (100 * (i + 1)) + (j + 1));
map2.put("width", "5325745");
map2.put("height", "7534910");
map2.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList.add(map2);
}
map.put("imgList", imgList);
list2.add(map);
}
// 核心分包商业绩证明
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i", i + 1);
map.put("unit", "川东电力集团有限公司" + (i + 1));
List<Map<String, Object>> yjList = new ArrayList<>();
List<Map<String, Object>> zzList = new ArrayList<>();
List<Map<String, Object>> personList = new ArrayList<>();
List<Map<String, Object>> personImgList = new ArrayList<>();
List<Map<String, Object>> zmImgList = new ArrayList<>();
for (int j = 0; j < 3; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("i", j + 1);
map2.put("proName", "酒泉-湖南±800kV特高压直流输电线路工程组塔6段施工合同" + (j + 1));
map2.put("unit", "安徽博诺思");
map2.put("money", "300");
map2.put("date", "2017年4月1日至2017年10月30日");
map2.put("sf", "分包人");
map2.put("bz", "");
yjList.add(map2);
}
for (int j = 0; j < 4; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("index", (1000 * (i + 1)) + (j + 1));
map2.put("width", "5325745");
map2.put("height", "7534910");
map2.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
zzList.add(map2);
}
for (int j = 0; j < 4; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("i", (j + 1));
map2.put("name", "袁林" + (j + 1));
map2.put("zc", "高级");
map2.put("zf", "川1442006200805530/632527197109127012");
map2.put("fg", "项目经理");
map2.put("yj", "揭阳500千伏盘龙站配套220千伏线路工程基础工程第一标段施工专业分包、川渝特高压交流工程线路工程施工包17基础施工专业分包");
map2.put("bz", "");
personList.add(map2);
}
for (int j = 0; j < 4; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("userType", "项目经理");
List<Map<String, Object>> imgList = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("index", (10000 * (j + 1)) + (k + 1));
map3.put("width", "5325745");
map3.put("height", "7534910");
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList.add(map3);
}
map2.put("imgList", imgList);
personImgList.add(map2);
}
for (int j = 0; j < 4; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("proName", (j + 1) + "" + "酒泉-湖南±800kV特高压直流输电线路工程组塔6段施工合同");
List<Map<String, Object>> imgList = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("index", (100000 * (j + 1)) + (k + 1));
map3.put("width", "5325745");
map3.put("height", "7534910");
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList.add(map3);
}
map2.put("imgList", imgList);
zmImgList.add(map2);
}
map.put("yjList", yjList);
map.put("zzList", zzList);
map.put("personList", personList);
map.put("personImgList", personImgList);
map.put("zmImgList", zmImgList);
list3.add(map);
}
// 项目人员配置情况
for (int i = 0; i < 1; i++) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> userSettingList = new ArrayList<>();
List<Map<String, Object>> otherUserList = new ArrayList<>();
List<Map<String, Object>> personImgList = new ArrayList<>();
for (int j = 0; j < 3; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("i", j + 1);
map2.put("fbbh", "");
map2.put("name", "");
map2.put("bh", "");
map2.put("xmName", "杨跃龙");
map2.put("zsmc", "一级注册建造师");
map2.put("zch", "云1532010201168898");
map2.put("xm", "陈忠海");
map2.put("safety", "李永东");
map2.put("aqy", "邓宇" +
"彭阳春" +
"张翔");
map2.put("zjy", "普诚" +
"李松阳" +
"卢绍义");
map2.put("zz", "汤合成");
userSettingList.add(map2);
}
for (int j = 0; j < 2; j++) {
Map<String, Object> map2 = new HashMap<>();
List<Map<String, Object>> zsList = new ArrayList<>();
map2.put("i", j + 1);
map2.put("zw", "项目总工");
map2.put("name", "陈忠海");
map2.put("zc", "工程师");
map2.put("yg", "正式职工");
map2.put("bh", "");
map2.put("zs", "工程师证");
map2.put("jb", "中级");
map2.put("zh", "CSG05202101310083");
map2.put("zy", "电力工程技术");
if (j == 0) {
} else {
Map<String, Object> map4 = new HashMap<>();
map4.put("zs", "助理工程师");
map4.put("jb", "初级");
map4.put("zh", "CSG05202101427936");
map4.put("zy", "输配电及用电工程");
map4.put("bh", "");
zsList.add(map4);
}
map2.put("zsList", zsList);
otherUserList.add(map2);
}
for (int j = 0; j < 4; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("index", (1000000 * (i + 1)) + (j + 1));
map2.put("width", "5325745");
map2.put("height", "7534910");
map2.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
personImgList.add(map2);
}
map.put("userSettingList", userSettingList);
map.put("otherUserList", otherUserList);
map.put("personImgList", personImgList);
list4.add(map);
}
// 项目关键人员简历及证明材料
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> jlList = new ArrayList<>();
List<Map<String, Object>> personImgList = new ArrayList<>();
if (i == 0) {
map.put("jlTitle", "项目经理简历及证明材料");
map.put("userType", "项目经理");
for (int j = 0; j < 1; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("type", "项目经理");
map2.put("name", "杨跃龙");
map2.put("card", "420502197612010155");
map2.put("xl", "专科");
map2.put("zc", "工程师");
map2.put("zs", "一级注册建造师");
map2.put("bh", "云1532010201168898");
map2.put("rcdate", "2024.06");
map2.put("tcDate", "2026.12");
List<Map<String, Object>> yjList = new ArrayList<>();
for (int k = 0; k < 4; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("date", "2016.062017.11");
map3.put("proName", "滇西北至广东±800kV特高压直流输电工程1标");
map3.put("gm", "新建铁塔286基新建线路145.55km");
map3.put("content", "线路施工");
map3.put("zw", "项目经理");
yjList.add(map3);
}
map2.put("yjList", yjList);
jlList.add(map2);
}
} else {
map.put("jlTitle", "项目部质检员及证明材料");
map.put("userType", "项目部质检员");
for (int j = 0; j < 2; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("type", "项目部质检员" + "" + (j + 1) + ")");
map2.put("name", "杨跃龙" + (j + 1));
map2.put("card", "420502197612010155");
map2.put("xl", "专科");
map2.put("zc", "工程师");
map2.put("zs", "一级注册建造师");
map2.put("bh", "云1532010201168898");
map2.put("rcdate", "2024.06");
map2.put("tcDate", "2026.12");
List<Map<String, Object>> yjList = new ArrayList<>();
for (int k = 0; k < 4; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("date", "2016.062017.11");
map3.put("proName", "滇西北至广东±800kV特高压直流输电工程1标");
map3.put("gm", "新建铁塔286基新建线路145.55km");
map3.put("content", "线路施工");
map3.put("zw", "项目经理");
yjList.add(map3);
}
map2.put("yjList", yjList);
jlList.add(map2);
}
}
if (i == 0) {
for (int j = 0; j < 1; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("zmcl", "");
List<Map<String, Object>> imgList = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("index", (1000000 * (j + 1)) + (k + 1));
map3.put("width", "5325745");
map3.put("height", "7534910");
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList.add(map3);
}
map2.put("imgList", imgList);
personImgList.add(map2);
}
} else {
for (int j = 0; j < 2; j++) {
Map<String, Object> map2 = new HashMap<>();
map2.put("zmcl", "项目部安全员(" + (j + 1) + ")(邓宇)证明材料");
List<Map<String, Object>> imgList = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map3 = new HashMap<>();
map3.put("index", (1000000 * (j + 1)) + (k + 1));
map3.put("width", "5325745");
map3.put("height", "7534910");
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList.add(map3);
}
map2.put("imgList", imgList);
personImgList.add(map2);
}
}
map.put("jlList", jlList);
map.put("personImgList", personImgList);
list5.add(map);
}
data.put("tbr", "云南送变电工程有限公司");
data.put("list", list);
data.put("list2", list2);
data.put("list3", list3);
data.put("list4", list4);
data.put("list5", list5);
WordUtils.exportMillCertificateWord2(null, null, data, "test", "GW.ftl", "C:\\Users\\10488\\Desktop\\test (2)\\");
} catch (Exception e) {
log.error("GW下载", e);
}
}
public static void main(String[] args) {
download();
}
public static String handleValue(String value) {
if (StringUtils.isBlank(value)) {
return "";
}
return value;
}
}

View File

@ -187,23 +187,6 @@ public class TestGWDOC {
list10.add(map);
}
// 项目经理业绩证明
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> imgList = new ArrayList<>(); // 项目合同关键页图片
map.put("proName", "广东500kv 粤东中南通道改造工程施工(惠州段标段二)" + (i + 1)); // 项目名称
for (int j = 0; j < 1; j++) {
Map<String, Object> imgMap = new HashMap<>();
imgMap.put("index", IdUtils.fastSimpleUUID());
imgMap.put("width", "481.15");
imgMap.put("height", "634.5");
imgMap.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
imgList.add(imgMap);
}
map.put("imgList",imgList);
list10.add(map);
}
// 投入本项目主要项目团队施工团队一览表
for (int i = 0; i < 2; i++) {
Map<String, Object> map = new HashMap<>();

View File

@ -1,133 +0,0 @@
package com.bonus.tool.template;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.WordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className:Test
* @author:cwchen
* @date:2025-04-25-17:05
* @version:1.0
* @description:
*/
@Slf4j
public class TestNW {
public static void download() {
Map<String, Object> data = new HashMap<>(16);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
String fileName = null;
try {
data.put("title","中老500千伏联网项目老挝段EPC总承包项目投标技术文件");
data.put("Introduction","项目经理、设计负责人、采购负责人、施工负责人、商务负责人等主要负责人");
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i",i + 1);
map.put("zw","项目经理");
map.put("name","王杰" + (i + 1));
map.put("zc","工程师");
map.put("zsmc","建造师证");
map.put("level","一级");
map.put("zh","云1532016201673770");
map.put("zy","机电工程");
map.put("ylbx","正常");
map.put("bz","");
list.add(map);
}
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("hasJj",true);
if(i == 0 || i== 3){
map.put("zy","项目经理简介");
map.put("hasJj",true);
}else{
map.put("zy","项目经理");
map.put("hasJj",false);
}
map.put("name","王杰" + (i + 1));
map.put("age","13");
map.put("xl","本科");
map.put("zc","工程师");
map.put("zw","职务");
map.put("rz","项目经理");
map.put("byxx","2007年6月毕业于三峡大学机械设计制造及其自动化专业");
map.put("Introduction","项目经理简历表");
List<Map<String,Object>> infoList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map2 = new HashMap<>();
map2.put("time","2019.3-2020.12");
map2.put("xm","乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
map2.put("zy","项目经理");
map2.put("lxr","云南电网建设分公司\n" +
"0871-63011815");
infoList.add(map2);
}
List<Map<String,Object>> imgList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("width","4959860");
map3.put("height","3492375");
map3.put("index",(100 * (i + 1)) + (j + 1));
if(j == 0){
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片3.png"));
}else if(j == 1){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片4.png"));
}else if(j == 2){
map3.put("width","5325745");
map3.put("height","7534910");
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
}
if(i == 0 && j == 0){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}
imgList.add(map3);
}
map.put("yjTitle","项目经理业绩");
List<Map<String,Object>> yjList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("yj","业绩" + (j + 1) + "" + "乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
List<Map<String,Object>> imgList2 = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map4 = new HashMap<>();
map4.put("index",(10000 * (j + 1)) + (k + 1));
map4.put("width","5325745");
map4.put("height","7534910");
map4.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList2.add(map4);
}
map3.put("imgList",imgList2);
yjList.add(map3);
}
map.put("infoList",infoList);
map.put("imgList",imgList);
map.put("yjList",yjList);
list2.add(map);
}
data.put("list",list);
data.put("list2",list2);
WordUtils.exportMillCertificateWord2(null,null, data, "test", "NW.ftl","C:\\Users\\10488\\Desktop\\test (2)\\");
} catch (Exception e) {
log.error("NW下载", e);
}
}
public static void main(String[] args) {
download();
}
public static String handleValue(String value){
if(StringUtils.isBlank(value)){
return "";
}
return value;
}
}

View File

@ -1,134 +0,0 @@
package com.bonus.tool.template;
import com.bonus.tool.template.util.FreeMarkerUtil;
import com.bonus.tool.template.util.WordUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className:Test
* @author:cwchen
* @date:2025-04-25-17:05
* @version:1.0
* @description:
*/
@Slf4j
public class TestNWDOC {
public static void download() {
Map<String, Object> data = new HashMap<>(16);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
String fileName = null;
try {
data.put("title","中老500千伏联网项目老挝段EPC总承包项目投标技术文件");
data.put("Introduction","项目经理、设计负责人、采购负责人、施工负责人、商务负责人等主要负责人");
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("i",i + 1);
map.put("zw","项目经理");
map.put("name","王杰" + (i + 1));
map.put("zc","工程师");
map.put("zsmc","建造师证");
map.put("level","一级");
map.put("zh","云1532016201673770");
map.put("zy","机电工程");
map.put("ylbx","正常");
map.put("bz","");
list.add(map);
}
for (int i = 0; i < 4; i++) {
Map<String, Object> map = new HashMap<>();
map.put("hasJj",true);
if(i == 0 || i== 3){
map.put("zy","项目经理简介");
map.put("hasJj",true);
}else{
map.put("zy","项目经理");
map.put("hasJj",false);
}
map.put("name","王杰" + (i + 1));
map.put("age","13");
map.put("xl","本科");
map.put("zc","工程师");
map.put("zw","职务");
map.put("rz","项目经理");
map.put("byxx","2007年6月毕业于三峡大学机械设计制造及其自动化专业");
map.put("Introduction","项目经理简历表");
List<Map<String,Object>> infoList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map2 = new HashMap<>();
map2.put("time","2019.3-2020.12");
map2.put("xm","乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
map2.put("zy","项目经理");
map2.put("lxr","云南电网建设分公司\n" +
"0871-63011815");
infoList.add(map2);
}
List<Map<String,Object>> imgList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("width", "375.35");
map3.put("height", "207.85");
map3.put("index",(100 * (i + 1)) + (j + 1));
if(j == 0){
map3.put("base64Url", FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片3.png"));
}else if(j == 1){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片4.png"));
}else if(j == 2){
map3.put("width", "481.15");
map3.put("height", "634.5");
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
}
if(i == 0 && j == 0){
map3.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\1.png"));
}
imgList.add(map3);
}
map.put("yjTitle","项目经理业绩");
List<Map<String,Object>> yjList = new ArrayList<>();
for (int j = 0; j < 3; j++){
Map<String, Object> map3 = new HashMap<>();
map3.put("yj","业绩" + (j + 1) + "" + "乌东德电站送电广东广西输电工程送端电网侧交流配套工程-龙开口、鲁地拉电站改接入丽山换流站线路工程(三标段)");
List<Map<String,Object>> imgList2 = new ArrayList<>();
for (int k = 0; k < 3; k++) {
Map<String, Object> map4 = new HashMap<>();
map4.put("index",(10000 * (j + 1)) + (k + 1));
map4.put("width", "481.15");
map4.put("height", "634.5");
map4.put("base64Url",FreeMarkerUtil.getImageBase("C:\\Users\\10488\\Desktop\\图片5.png"));
imgList2.add(map4);
}
map3.put("imgList",imgList2);
yjList.add(map3);
}
map.put("infoList",infoList);
map.put("imgList",imgList);
map.put("yjList",yjList);
list2.add(map);
}
data.put("list",list);
data.put("list2",list2);
WordUtils.exportMillCertificateWord2(null,null, data, "test", "NW_DOC.ftl","C:\\Users\\10488\\Desktop\\test (2)\\");
} catch (Exception e) {
log.error("NW下载", e);
}
}
public static void main(String[] args) {
download();
}
public static String handleValue(String value){
if(StringUtils.isBlank(value)){
return "";
}
return value;
}
}

View File

@ -161,18 +161,32 @@
and id = #{id}
</select>
<select id="selectComPerfList" resultType="com.bonus.tool.dto.ComPerformanceBean">
SELECT id,
tgpr.perf_id,
pro_name,
voltage,
station_num,
line_scale,
stop_time,
contract_rang,
owner_unit,
owner_phone
FROM tb_gw_perf_rel tgpr
LEFT JOIN tb_company_perf tcp ON tgpr.perf_id = tcp.id
SELECT
tcp.id,
tgpr.perf_id,
tcp.pro_name,
tcp.voltage,
tcp.station_num,
tcp.line_scale,
tcp.start_time,
tcp.stop_time,
tcp.contract_rang,
tcp.owner_unit,
tcp.owner_phone,
tkp.`user_name` as managerName,
tcp.project_location,
tcp.owner_location,
tcp.money,
tcp.engineering_quality,
tcp.technical_lead,
tcp.supervising_engineer,
tcp.project_situation,
tcp.remark
FROM
tb_gw_perf_rel tgpr
LEFT JOIN tb_company_perf tcp ON tgpr.perf_id = tcp.id
LEFT JOIN ( SELECT * FROM tb_company_perf_rel WHERE title = '项目经理' AND source = 1 GROUP BY perf_id ) tcpr ON tcpr.perf_id = tcp.id
LEFT JOIN tb_key_people tkp ON tcpr.key_user = tkp.id
WHERE tgpr.gw_id = #{id}
</select>
<select id="selectComCoreList" resultType="com.bonus.tool.dto.ComCorePersonBean">
@ -187,8 +201,13 @@
tgku.position as post_name,
tgku.in_time as ein_date,
tgku.out_time as exit_date,
tkp.age,
tkp.major,
tkp.level,
tkp.alma_mater,
tgku.perf_id,
tgku.pro_perf
tgku.pro_perf,
tkp.user_phone
FROM tb_gw_key_user tgku
LEFT JOIN tb_key_people tkp ON tgku.key_id = tkp.id
WHERE tgku.gw_id = #{id}

View File

@ -29,5 +29,11 @@
select id,table_name as tableName,table_id as tableId,diploma as diploma,diploma_num as diplomaNum,
level as level
from tb_certification where del_flag=0 and table_name = #{tableName} and table_id = #{tableId}
ORDER BY
CASE
WHEN diploma IN ( '注册建造师', '项目经理B证' ) THEN
0 ELSE 1
END,
FIELD( diploma, '注册建造师', '项目经理B证' );
</select>
</mapper>

View File

@ -118,7 +118,8 @@
tcp.owner_unit,
tcp.owner_phone,
tcp.voltage,
tcpr.id as perfId
tcpr.id as perfId,
tcpr.work_content
FROM
tb_key_people tkp
LEFT JOIN tb_company_perf_rel tcpr ON tcpr.key_user = tkp.id and tcpr.source = '1'