commit
This commit is contained in:
+34
-30
@@ -37,7 +37,9 @@ import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import com.budwk.app.zhgh.staffmanage.specialstaff.model.SpecialStaff;
|
||||
import com.budwk.app.zhgh.welfare.model.WelfareList;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.ddr.poi.html.HtmlRenderPolicy;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.*;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
@@ -82,8 +84,6 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
@Inject
|
||||
private SysUserService sysUserService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private SysOfficeTemplateUtil sysOfficeTemplateUtil;
|
||||
@@ -595,7 +595,6 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
throw new RuntimeException("会员申请记录不存在");
|
||||
}
|
||||
|
||||
// 2. 获取流程实例信息 (确保流程已归档或存在)
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.*,
|
||||
@@ -607,13 +606,13 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
info.id = @id
|
||||
""").setParam("id", id);
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
dao().execute(sql);
|
||||
NutMap info = (NutMap) sql.getResult();
|
||||
|
||||
HashMap<String, Object> docData = new HashMap<>();
|
||||
|
||||
docData.put("unitName", member.getUnitName());
|
||||
docData.put("applyDateTime", member.getApplyDateTime() != null ? DateUtil.format(member.getApplyDateTime(), "yyyy年MM月dd日") : "");
|
||||
docData.put("time", DateUtil.format(new Date(), "yyyy年MM月dd日"));
|
||||
|
||||
docData.put("username", member.getUsername());
|
||||
docData.put("sex", member.getSex());
|
||||
@@ -625,7 +624,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
|
||||
docData.put("nativePlace", member.getNativePlace());
|
||||
docData.put("marriage", member.getMarriage());
|
||||
docData.put("specialty", member.getSpecialty());
|
||||
docData.put("specialty", StrUtil.isNotBlank(member.getSpecialty()) ? HtmlUtil.cleanHtmlTag(member.getSpecialty()) : "");
|
||||
|
||||
docData.put("jobCategory", member.getJobCategory());
|
||||
docData.put("idCard", member.getIdCard());
|
||||
@@ -634,25 +633,25 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
docData.put("arrivalAtSchoolDate", StrUtil.isNotBlank(member.getArrivalAtSchoolDate()) ? DateUtil.parse(member.getArrivalAtSchoolDate()).toString("yyyy-MM-dd") : "");
|
||||
docData.put("homeAddress", member.getHomeAddress());
|
||||
|
||||
docData.put("personalData", member.getPersonalData());
|
||||
|
||||
// 处理家庭成员列表 (假设模板支持循环或需要拼接字符串,这里先拼接为字符串示例,若模板支持循环需调整模板引擎配置)
|
||||
// if (member.getFamilies() != null && !member.getFamilies().isEmpty()) {
|
||||
// StringBuilder familyStr = new StringBuilder();
|
||||
// for (int i = 0; i < member.getFamilies().size(); i++) {
|
||||
// NutMap fam = (NutMap) member.getFamilies().get(i);
|
||||
// familyStr.append((i + 1)).append(". ")
|
||||
// .append("关系:").append(fam.getStr("relation")).append(", ")
|
||||
// .append("姓名:").append(fam.getStr("name")).append(", ")
|
||||
// .append("单位:").append(fam.getStr("unit")).append(", ")
|
||||
// .append("备注:").append(fam.getStr("remark")).append("\n");
|
||||
// }
|
||||
// docData.put("familiesStr", familyStr.toString());
|
||||
// } else {
|
||||
// docData.put("familiesStr", "无");
|
||||
// }
|
||||
|
||||
docData.put("personalData", sysOfficeTemplateUtil.convertRichTextToDocText(member.getPersonalData()));
|
||||
docData.put("sign", sysOfficeTemplateUtil.createPictureRenderData(member.getSign()));
|
||||
docData.put("applyDateTime", member.getApplyDateTime() != null ? DateUtil.format(member.getApplyDateTime(), "yyyy年MM月dd日") : "");
|
||||
|
||||
// 处理家庭成员列表
|
||||
if (member.getFamilies() != null && !member.getFamilies().isEmpty()) {
|
||||
StringBuilder familyStr = new StringBuilder();
|
||||
for (int i = 0; i < member.getFamilies().size(); i++) {
|
||||
NutMap fam = NutMap.WRAP(member.getFamilies().get(i));
|
||||
familyStr.append((i + 1)).append(". ")
|
||||
.append("关系:").append(StrUtil.nullToDefault(fam.getString("relation"), "无")).append(", ")
|
||||
.append("姓名:").append(StrUtil.nullToDefault(fam.getString("name"), "无")).append(", ")
|
||||
.append("单位:").append(StrUtil.nullToDefault(fam.getString("unit"), "无")).append(", ")
|
||||
.append("备注:").append(StrUtil.nullToDefault(fam.getString("remark"), "无")).append("\n");
|
||||
}
|
||||
docData.put("familiesStr", familyStr.toString());
|
||||
} else {
|
||||
docData.put("familiesStr", "无");
|
||||
}
|
||||
List<ProcessTaskVO> doneTaskVos = new ArrayList<>();
|
||||
Long instanceId = info.getLong("instanceId");
|
||||
if (instanceId != null) {
|
||||
@@ -675,7 +674,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||
}
|
||||
approval.put("opinion", taskFormData != null ? taskFormData.getStr("tf_opinion") : "");
|
||||
docData.put("branchUnionApproval", approval);
|
||||
docData.put("fgh", approval);
|
||||
});
|
||||
|
||||
// 提取校工会审核意见
|
||||
@@ -690,17 +689,22 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||
}
|
||||
approval.put("opinion", taskFormData != null ? taskFormData.getStr("tf_opinion") : "");
|
||||
docData.put("schoolUnionApproval", approval);
|
||||
docData.put("xgh", approval);
|
||||
});
|
||||
|
||||
String fileName = "会员入会申请表_" + member.getUsername() + "_" +
|
||||
(member.getApplyDateTime() != null ? DateUtil.format(member.getApplyDateTime(), "yyyyMMdd") : "") +
|
||||
".docx";
|
||||
String fileName = "会员入会申请表_" + member.getUsername() + "_" + DateUtil.format(new Date(), "yyyyMMdd") + ".docx";
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
|
||||
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8));
|
||||
|
||||
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
||||
htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true);
|
||||
|
||||
Configure config = Configure.builder()
|
||||
.bind("personalData", htmlRenderPolicy)
|
||||
.build();
|
||||
try {
|
||||
XWPFTemplate.compile(sysOfficeTemplateUtil.getTemplate("member_apply_form"))
|
||||
XWPFTemplate.compile(sysOfficeTemplateUtil.getTemplate("member_apply_form"), config)
|
||||
.render(docData)
|
||||
.write(response.getOutputStream());
|
||||
} catch (IOException e) {
|
||||
|
||||
Reference in New Issue
Block a user