Compare commits

..
2 Commits
3 changed files with 32 additions and 10 deletions
@@ -13,6 +13,7 @@ import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure; import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy; import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import io.v.nutz.annontation.ViReturn; import io.v.nutz.annontation.ViReturn;
import io.v.nutz.base.utils.Html2Text;
import io.v.nutz.base.utils.Vi; import io.v.nutz.base.utils.Vi;
import io.v.nutz.jdh.model.cb.Jdh_jdhxx; import io.v.nutz.jdh.model.cb.Jdh_jdhxx;
import io.v.nutz.modules.models.PageForm; import io.v.nutz.modules.models.PageForm;
@@ -350,9 +351,16 @@ public class proposalExportNotCaseController {
for (NutMap info : infos) { for (NutMap info : infos) {
String implementUnitId = info.getString("implementUnitId"); String implementUnitId = info.getString("implementUnitId");
List<String> implementUnitIds = Json.fromJsonAsList(String.class, implementUnitId); String implementUnitName = "";
String implementUnitName = proposalUndertakeList.stream().filter(u -> implementUnitIds.contains(u.getId())).map(u -> u.getUnitName()).collect(Collectors.joining("、")); if (StrUtil.isNotBlank(implementUnitId)) {
List<String> implementUnitIds = Json.fromJsonAsList(String.class, implementUnitId);
if (implementUnitIds != null) {
implementUnitName = proposalUndertakeList.stream().filter(u -> implementUnitIds.contains(u.getId())).map(u -> u.getUnitName()).collect(Collectors.joining("、"));
}
}
info.put("implementUnitName", implementUnitName); info.put("implementUnitName", implementUnitName);
info.put("brief", Html2Text.toPlainText(info.getString("brief")));
info.put("measures", Html2Text.toPlainText(info.getString("measures")));
Sql secondedSql = Sqls.create(""" Sql secondedSql = Sqls.create("""
SELECT SELECT
u.username s_username, u.username s_username,
@@ -371,20 +379,21 @@ public class proposalExportNotCaseController {
info.put("schoolName", Globals.MyConfig.getString("GxName")); info.put("schoolName", Globals.MyConfig.getString("GxName"));
HackLoopTableRenderPolicy hackLoopTableRenderPolicy = new HackLoopTableRenderPolicy(); HackLoopTableRenderPolicy hackLoopTableRenderPolicy = new HackLoopTableRenderPolicy();
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
Configure config = Configure.newBuilder() Configure config = Configure.newBuilder()
.bind("secondedList", hackLoopTableRenderPolicy) .bind("secondedList", hackLoopTableRenderPolicy)
.bind("brief", htmlRenderPolicy)
.bind("measures", htmlRenderPolicy)
.build(); .build();
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/proposal/proposalSH.docx"); InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/proposal/proposalSH.docx");
String docxName = info.getString("proposalCode") + "-" + info.getString("proposalName") + ".docx"; String docxBaseName = (info.getString("proposalCode") + "-" + info.getString("proposalName"))
.replaceAll("[/\\\\:*?\"<>|]", "_");
Path docFile = Files.createFile(proposalSHPath.resolve(docxName)); Path docFile = proposalSHPath.resolve(docxBaseName + ".docx");
if (Files.exists(docFile)) {
docFile = proposalSHPath.resolve(docxBaseName + "-" + info.getString("id") + ".docx");
}
Files.createFile(docFile);
XWPFTemplate.compile(inputStream, config).render(info).writeToFile(docFile.toString()); XWPFTemplate.compile(inputStream, config).render(info).writeToFile(docFile.toString());
} }
@@ -30,6 +30,7 @@ import org.nutz.dao.util.cri.SqlExpressionGroup;
import org.nutz.ioc.aop.Aop; import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.lang.Strings; import org.nutz.lang.Strings;
import org.nutz.lang.util.NutMap; import org.nutz.lang.util.NutMap;
@@ -229,6 +230,16 @@ public class ProposalInfoServiceImpl extends ViServiceImpl<ProposalInfo> impleme
NutMap nutMap = proposalInfoService.fetch(sql); NutMap nutMap = proposalInfoService.fetch(sql);
String implementUnitId = nutMap.getString("implementUnitId");
String implementUnitName = "";
if (StrUtil.isNotBlank(implementUnitId)) {
List<String> implementUnitIds = Json.fromJsonAsList(String.class, implementUnitId);
if (implementUnitIds != null && !implementUnitIds.isEmpty()) {
List<ProposalUndertake> implementUnitList = proposalInfoService.dao().query(ProposalUndertake.class, Cnd.where("id", "in", implementUnitIds));
implementUnitName = implementUnitList.stream().map(ProposalUndertake::getUnitName).collect(Collectors.joining("、"));
}
}
nutMap.setv("implementUnitName", implementUnitName);
// nutMap.setv("brief", Html2Text.toPlainText(nutMap.getString("brief"))); // nutMap.setv("brief", Html2Text.toPlainText(nutMap.getString("brief")));
nutMap.setv("measures", HtmlUtil.cleanHtmlTag(nutMap.getString("measures"))); nutMap.setv("measures", HtmlUtil.cleanHtmlTag(nutMap.getString("measures")));
@@ -260,7 +260,9 @@ layout("/layouts/platform.html"){
window.URL.revokeObjectURL(url) window.URL.revokeObjectURL(url)
loading.close(); loading.close();
}).catch((err) => { }).catch((err) => {
}) loading.close();
this.$message.error('导出失败,请稍后重试');
})
}, },
oneProposalExport(id) { oneProposalExport(id) {
window.location.href = "/platform/proposal/statistics/summary/oneProposalExport?isAll=0&proposalId=" + id window.location.href = "/platform/proposal/statistics/summary/oneProposalExport?isAll=0&proposalId=" + id
@@ -354,4 +356,4 @@ layout("/layouts/platform.html"){
</script> </script>
<!--# <!--#
} }
#--> #-->