From aa444a21aeecc0609043ab250c4ef43b8b3a37f4 Mon Sep 17 00:00:00 2001 From: Paidax Date: Fri, 2 Aug 2024 18:15:19 +0800 Subject: [PATCH 1/2] commit --- .../review/StatisticsZpController.java | 72 +++++++++++++++++- .../mobile/MWakesHomeReviewController.java | 8 +- .../wakershome/model/review/CommentPeo.java | 15 +++- src/main/resources/docTemplate/WakesHome.docx | Bin 0 -> 11507 bytes .../platform/wakeshome/review/statistics.html | 13 +++- 5 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/docTemplate/WakesHome.docx diff --git a/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java b/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java index b306e00..1f19667 100644 --- a/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java +++ b/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java @@ -1,15 +1,25 @@ package io.v.nutz.wakershome.controller.review; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.policy.HackLoopTableRenderPolicy; import io.v.nutz.annontation.ViReturn; import io.v.nutz.base.utils.Vi; import io.v.nutz.modules.models.PageForm; import io.v.nutz.util.ShiroUtil; +import io.v.nutz.wakershome.model.review.CommentBz; +import io.v.nutz.wakershome.model.review.CommentNr; +import io.v.nutz.wakershome.model.review.CommentPeo; import io.v.nutz.wakershome.model.review.CommentZb; import io.v.nutz.wakershome.service.review.CommentPeoService; import io.v.nutz.wakershome.service.review.CommentZbService; +import io.v.nutz.web.commons.base.Globals; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.ddr.poi.html.HtmlRenderPolicy; import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; import org.nutz.dao.util.cri.SqlExpressionGroup; @@ -21,6 +31,13 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + /** * @ClassName statisticsController * @Description TODO @@ -92,7 +109,6 @@ public class StatisticsZpController { Sql sql = Sqls.create(""" SELECT peo.*, - u.username userName, u.loginname loginName, unitname unitName FROM @@ -142,4 +158,58 @@ public class StatisticsZpController { } + + @At + @Ok("void") + public void doDownLoad(String zbId, String unionId, HttpServletResponse response) { + CommentPeo peo = commentZbService.dao().fetch(CommentPeo.class, Cnd.where("unionId", "=", unionId).and("zbId", "=", zbId)); + NutMap map = commentPeoService.getBzById(peo.getId()); + //最后的导出表 + NutMap resultMap = NutMap.NEW(); + + List list = new ArrayList<>(); + resultMap.put("schoolName", Globals.schoolName); + + CommentZb khzb = map.getAs("zbxx", CommentZb.class); + List nrs = khzb.getNrs(); + + nrs.forEach(v -> { + NutMap nutMap = NutMap.NEW(); + List bzs = v.getBzs(); + String nr = bzs.stream().sorted(Comparator.comparing(CommentBz::getContentNumber)).map(item -> { + return item.getContentNumber() + "." + item.getInspection() + "(" + item.getScore() + "分)"; + }).collect(Collectors.joining("
")); + + int jf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getScore())).sum(); + int zpf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getResultScore())).sum(); + CommentBz commentBz = bzs.stream().findFirst().orElse(new CommentBz()); + + nutMap.put("xh", Convert.numberToChinese(Double.parseDouble(v.getContentNumber()), false)); + nutMap.put("zb", v.getContent()); + nutMap.put("nr", nr); + nutMap.put("jf", jf); + nutMap.put("zpf", zpf); + nutMap.put("bz", commentBz.getOptions()); + list.add(nutMap); + }); + + HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); + HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy(); + htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true); + + Configure config = Configure.newBuilder().bind("list", policy) + .bind("list.nr", htmlRenderPolicy).build(); + resultMap.put("list", list); + String fileName = Globals.schoolName + "“模范教工小家”评分标准"; + try { + response.addHeader("Content-Type", "application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx"); + InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/WakesHome.docx"); + XWPFTemplate.compile(inputStream, config).render(resultMap, response.getOutputStream()); + inputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/java/io/v/nutz/wakershome/mobile/MWakesHomeReviewController.java b/src/main/java/io/v/nutz/wakershome/mobile/MWakesHomeReviewController.java index dd45242..5a1874a 100644 --- a/src/main/java/io/v/nutz/wakershome/mobile/MWakesHomeReviewController.java +++ b/src/main/java/io/v/nutz/wakershome/mobile/MWakesHomeReviewController.java @@ -12,6 +12,7 @@ import io.v.nutz.base.utils.Vi; import io.v.nutz.dao.CndPlus; import io.v.nutz.modules.models.PageForm; import io.v.nutz.sys.models.Sys_union; +import io.v.nutz.sys.models.User; import io.v.nutz.wakershome.model.review.CommentBz; import io.v.nutz.wakershome.model.review.CommentPeo; import io.v.nutz.wakershome.model.review.CommentResult; @@ -148,7 +149,7 @@ public class MWakesHomeReviewController { @Aop(TransAop.READ_COMMITTED) public Object doSubmit(WakesHomeVo wakesHomeVo) { try { - System.out.println(wakesHomeVo); + User user = baseService.dao().fetch(User.class, Cnd.where("id", "=", ShiroUtil.getUser())); CommentPeo peo = new CommentPeo(); if (Strings.isNotBlank(wakesHomeVo.getEvaluatedPersonId())) { peo.setEvaluatedPersonId(wakesHomeVo.getEvaluatedPersonId()); @@ -159,7 +160,10 @@ public class MWakesHomeReviewController { peo.setZbId(wakesHomeVo.getId()); peo.setReviewTime(DateUtil.now()); peo.setFiles(wakesHomeVo.getFiles()); - peo.setUserId((String) ShiroUtil.getPrincipalProperty("id")); + peo.setUserId(user.getId()); + peo.setUserName(user.getUsername()); + peo.setUnionId(user.getUnionid()); + peo.setUnionName(user.getUnionname()); if (Strings.isNotBlank(wakesHomeVo.getPresidentOpinions())) { peo.setPresidentOpinions(wakesHomeVo.getPresidentOpinions()); } diff --git a/src/main/java/io/v/nutz/wakershome/model/review/CommentPeo.java b/src/main/java/io/v/nutz/wakershome/model/review/CommentPeo.java index ac2f084..41bd52c 100644 --- a/src/main/java/io/v/nutz/wakershome/model/review/CommentPeo.java +++ b/src/main/java/io/v/nutz/wakershome/model/review/CommentPeo.java @@ -18,12 +18,25 @@ public class CommentPeo { @Prev(els = {@EL("uuid()")}) private String id; - @Column @Comment("测评人") @ColDefine(type = ColType.VARCHAR, width = 32) private String userId; + @Column + @Comment("测评人姓名") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String userName; + + @Column + @Comment("测评人工会id") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionId; + + @Column + @Comment("测评人工会名称") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String unionName; @Column @Comment("被测评人id") diff --git a/src/main/resources/docTemplate/WakesHome.docx b/src/main/resources/docTemplate/WakesHome.docx new file mode 100644 index 0000000000000000000000000000000000000000..42c097ffc46484e5bc5333b4f396841232149dbc GIT binary patch literal 11507 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 Cj5DqP literal 0 HcmV?d00001 diff --git a/src/main/resources/views/platform/wakeshome/review/statistics.html b/src/main/resources/views/platform/wakeshome/review/statistics.html index 17fb720..7b020e2 100644 --- a/src/main/resources/views/platform/wakeshome/review/statistics.html +++ b/src/main/resources/views/platform/wakeshome/review/statistics.html @@ -83,7 +83,7 @@ layout("/layouts/platform.html"){ fixed="right"> @@ -246,6 +246,9 @@ layout("/layouts/platform.html"){ 'wakes-home-review': httpVueLoader('/components/wakeshome/review/ReviewResult.vue?v=' + moment(new Date()).unix()), }, methods: { + doDownLoad(row){ + window.open(loc() + '/doDownLoad?zbId=' + this.pageForm.zbId + '&unionId=' + row.id) + }, async getReviewResultNum(row) { const res = await $.post(loc() + "/getReviewResultNum", { zbId: this.userPageForm.zbId, @@ -254,8 +257,6 @@ layout("/layouts/platform.html"){ this.reviewResultData = res.data }, async openUserView(row) { - // const res = await $.post(loc() + "/getBzById", {peoId: row.id}) - // this.zpxx = res.data this.userDrawer = true this.$nextTick(() => { this.$refs.wakesHomeReview.findOne(row.id) @@ -309,6 +310,12 @@ layout("/layouts/platform.html"){ this.doSearch() }, }, + computed: { + canDownload() { + const data = this.zbList.find(v=> v.id === this.pageForm.zbId) + return data.commentTarget===3 && data.unionIds + } + }, async created() { await this.getZbList() this.unions = await getUnions(null) From cdd77b303e20b210e976ac7637ab52857f6ae96a Mon Sep 17 00:00:00 2001 From: Paidax Date: Mon, 26 Aug 2024 11:51:06 +0800 Subject: [PATCH 2/2] commit --- .../review/StatisticsZpController.java | 250 +++++++++++++++--- .../impl/review/CommentPeoServiceImpl.java | 3 +- .../review/CommentStatisticsServiceImpl.java | 94 +++++++ .../service/review/CommentPeoService.java | 3 + .../review/CommentStatisticsService.java | 23 ++ .../service/review/CommentZbService.java | 2 - .../wakeshome/review/ReviewResult.vue | 2 +- .../platform/wakeshome/review/statistics.html | 60 +++-- 8 files changed, 364 insertions(+), 73 deletions(-) create mode 100644 src/main/java/io/v/nutz/wakershome/service/impl/review/CommentStatisticsServiceImpl.java create mode 100644 src/main/java/io/v/nutz/wakershome/service/review/CommentStatisticsService.java diff --git a/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java b/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java index 1f19667..9672d0d 100644 --- a/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java +++ b/src/main/java/io/v/nutz/wakershome/controller/review/StatisticsZpController.java @@ -8,16 +8,21 @@ import com.deepoove.poi.policy.HackLoopTableRenderPolicy; import io.v.nutz.annontation.ViReturn; import io.v.nutz.base.utils.Vi; import io.v.nutz.modules.models.PageForm; +import io.v.nutz.sys.models.Sys_file; import io.v.nutz.util.ShiroUtil; import io.v.nutz.wakershome.model.review.CommentBz; import io.v.nutz.wakershome.model.review.CommentNr; import io.v.nutz.wakershome.model.review.CommentPeo; import io.v.nutz.wakershome.model.review.CommentZb; import io.v.nutz.wakershome.service.review.CommentPeoService; +import io.v.nutz.wakershome.service.review.CommentStatisticsService; import io.v.nutz.wakershome.service.review.CommentZbService; import io.v.nutz.web.commons.base.Globals; +import io.v.nutz.web.commons.utils.FileUtil; +import org.apache.commons.io.IOUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.ddr.poi.html.HtmlRenderPolicy; +import org.nutz.boot.starter.ftp.FtpService; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; @@ -26,17 +31,22 @@ import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.Lang; +import org.nutz.lang.random.R; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; import javax.servlet.http.HttpServletResponse; -import java.io.InputStream; +import java.io.*; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; /** * @ClassName statisticsController @@ -49,12 +59,18 @@ import java.util.stream.Collectors; @IocBean public class StatisticsZpController { + @Inject + private FtpService ftpService; + @Inject private CommentZbService commentZbService; @Inject private CommentPeoService commentPeoService; + @Inject + private CommentStatisticsService commentStatisticsService; + @At("") @Ok("beetl:/platform/wakeshome/review/statistics.html") @@ -159,57 +175,207 @@ public class StatisticsZpController { } + /** + * 分工会自评导出(单个) + * + * @param zbId + * @param unionId + * @param response + */ @At @Ok("void") - public void doDownLoad(String zbId, String unionId, HttpServletResponse response) { + @RequiresPermissions("wakeshome.review.statistics") + public void doDownLoadSingleByUnionId(String zbId, String unionId, HttpServletResponse response) { CommentPeo peo = commentZbService.dao().fetch(CommentPeo.class, Cnd.where("unionId", "=", unionId).and("zbId", "=", zbId)); - NutMap map = commentPeoService.getBzById(peo.getId()); - //最后的导出表 - NutMap resultMap = NutMap.NEW(); - List list = new ArrayList<>(); - resultMap.put("schoolName", Globals.schoolName); - - CommentZb khzb = map.getAs("zbxx", CommentZb.class); - List nrs = khzb.getNrs(); - - nrs.forEach(v -> { - NutMap nutMap = NutMap.NEW(); - List bzs = v.getBzs(); - String nr = bzs.stream().sorted(Comparator.comparing(CommentBz::getContentNumber)).map(item -> { - return item.getContentNumber() + "." + item.getInspection() + "(" + item.getScore() + "分)"; - }).collect(Collectors.joining("
")); - - int jf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getScore())).sum(); - int zpf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getResultScore())).sum(); - CommentBz commentBz = bzs.stream().findFirst().orElse(new CommentBz()); - - nutMap.put("xh", Convert.numberToChinese(Double.parseDouble(v.getContentNumber()), false)); - nutMap.put("zb", v.getContent()); - nutMap.put("nr", nr); - nutMap.put("jf", jf); - nutMap.put("zpf", zpf); - nutMap.put("bz", commentBz.getOptions()); - list.add(nutMap); - }); - - HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); - HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy(); - htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true); - - Configure config = Configure.newBuilder().bind("list", policy) - .bind("list.nr", htmlRenderPolicy).build(); - resultMap.put("list", list); - String fileName = Globals.schoolName + "“模范教工小家”评分标准"; + String fileName = peo.getUnionName() + "(" + peo.getUserName() + ")“模范教工小家”评议结果"; try { response.addHeader("Content-Type", "application/octet-stream"); response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx"); - InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/WakesHome.docx"); - XWPFTemplate.compile(inputStream, config).render(resultMap, response.getOutputStream()); - inputStream.close(); + commentStatisticsService.exportWord(peo, response.getOutputStream()); } catch (Exception e) { e.printStackTrace(); } } + + /** + * 分工会下所有测评结果导出(多个)压缩包 + * @param zbId + * @param unionId + * @param response + */ + @At + @Ok("void") + @RequiresPermissions("wakeshome.review.statistics") + public void doDownLoadZipByUnionId(String zbId, String unionId, HttpServletResponse response) { + try { + List peoList = commentPeoService.dao().query(CommentPeo.class, Cnd.where("unionId", "=", unionId).and("zbId", "=", zbId)); + CommentPeo commentPeo = peoList.stream().findFirst().orElse(new CommentPeo()); + String zipName = commentPeo.getUnionName() + "评议结果.zip"; + response.setContentType("application/octet-stream"); + response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(zipName, "UTF-8")); + + ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream())); + for (CommentPeo peo : peoList) { + String fileName = peo.getUnionName() + "(" + peo.getUserName() + ")“模范教工小家”评议结果.docx"; + zipOutputStream.putNextEntry(new ZipEntry(fileName)); + commentStatisticsService.exportWord(peo, zipOutputStream); + zipOutputStream.closeEntry(); + response.flushBuffer(); + } + zipOutputStream.flush(); + zipOutputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 分工会导出附件 + * @param zbId + * @param unionId + * @param response + */ + @At + @Ok("void") + @RequiresPermissions("wakeshome.review.statistics") + public void exportFilesByUnionId(String zbId, String unionId, HttpServletResponse response) { + List peoList = commentPeoService.dao().query(CommentPeo.class, Cnd.where("unionId", "=", unionId).and("zbId", "=", zbId)); + CommentPeo commentPeo = peoList.stream().findFirst().orElse(new CommentPeo()); + response.reset(); + response.setContentType("application/x-msdownload;charset=utf-8"); + + String tmpPath = "tmp/" + R.UU32(); + File tmpDir = new File(tmpPath + "/附件信息"); + tmpDir.mkdirs(); + + try { + for (CommentPeo peo : peoList) { + String fileName = peo.getUnionName() + "(" + peo.getUserName() + ")"; + List files = peo.getFiles(); + + File tDir = new File(tmpDir + "/" + fileName); + tDir.mkdirs(); + + if (Lang.isNotEmpty(files)) { + for (Sys_file file : files) { + if(Lang.isNotEmpty(file)) { + FileOutputStream outputStream = new FileOutputStream(tDir.getPath() + "/" + file.getFilename()); + ftpService.download(file.getFilepath(), outputStream); + outputStream.close(); + } + } + } + } + + String aimsDir = "zipTmp/" + R.UU32(); + String aimsName = commentPeo.getUnionName() + "评议信息.zip"; + String aimsPath = aimsDir + "/" + aimsName; + FileUtil.compressToZip(tmpDir.getPath(), aimsDir, aimsName); + + response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(aimsName, "UTF-8")); + + File aimsFile = new File(aimsPath); + FileInputStream inputStream = new FileInputStream(aimsFile); + IOUtils.copy(inputStream, response.getOutputStream()); + inputStream.close(); + aimsFile.delete(); + + FileUtil.deleteDir(new File(tmpPath)); + FileUtil.deleteDir(new File(aimsDir)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + + /** + * 个人上传附件导出 + * + * @param peoId + * @param response + */ + @At + @Ok("void") + @RequiresPermissions("wakeshome.review.statistics") + public void exportFilesByPeoId(String peoId, HttpServletResponse response) { + CommentPeo peo = commentPeoService.dao().fetch(CommentPeo.class, peoId); + List files = peo.getFiles(); + + response.reset(); + response.setContentType("application/x-msdownload;charset=utf-8"); + + String tmpPath = "tmp/" + R.UU32(); + File tmpDir = new File(tmpPath + "/个人附件信息"); + tmpDir.mkdirs(); + + try { + for (Sys_file file : files) { + if (Lang.isNotEmpty(files)) { + FileOutputStream out = new FileOutputStream(tmpDir.getPath() + "/" + file.getFilename()); + ftpService.download(file.getFilepath(), out); + out.close(); + } + } + String aimsDir = "zipTmp/" + R.UU32(); + String aimsName = peo.getUnionName() + "(" + peo.getUserName() + ")个人附件信息.zip"; + String aimsPath = aimsDir + "/" + aimsName; + FileUtil.compressToZip(tmpDir.getPath(), aimsDir, aimsName); + + response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(aimsName, "UTF-8")); + + File aimsFile = new File(aimsPath); + FileInputStream inputStream = new FileInputStream(aimsFile); + IOUtils.copy(inputStream, response.getOutputStream()); + inputStream.close(); + aimsFile.delete(); + + FileUtil.deleteDir(new File(tmpPath)); + FileUtil.deleteDir(new File(aimsDir)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 个人评议结果导出(得分) + * + * @param peoId + * @param response + */ + @At + @Ok("void") + @RequiresPermissions("wakeshome.review.statistics") + public void exportByPeoId(String peoId, HttpServletResponse response) { + CommentPeo peo = commentPeoService.dao().fetch(CommentPeo.class, peoId); + + String fileName = peo.getUnionName() + "(" + peo.getUserName() + ")“模范教工小家”评议结果"; + try { + response.addHeader("Content-Type", "application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx"); + commentStatisticsService.exportWord(peo, response.getOutputStream()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 导出所有分工会评议结果和附件信息 + * + * @param zbId + * @param response + */ + @At + @Ok("void") + @RequiresPermissions("wakeshome.review.statistics") + public void exportAllUnions(String zbId, HttpServletResponse response) { +// List peoList = commentPeoService.dao().query(CommentPeo.class, Cnd.where("zbId", "=", zbId)); + +// Map> collect = peoList.stream().collect(Collectors.groupingBy(CommentPeo::getUnionId)); + } } diff --git a/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentPeoServiceImpl.java b/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentPeoServiceImpl.java index ce84dd2..84ecaaa 100644 --- a/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentPeoServiceImpl.java +++ b/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentPeoServiceImpl.java @@ -1,6 +1,7 @@ package io.v.nutz.wakershome.service.impl.review; +import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.base.service.BaseService; import io.v.nutz.service.impl.ViServiceImpl; import io.v.nutz.wakershome.model.review.CommentNr; @@ -48,7 +49,7 @@ public class CommentPeoServiceImpl extends ViServiceImpl implements v.getBzs().forEach(o->{ //赋值测评结果 CommentResult result = commentResultMap.get(o.getId()); - o.setOptions(result.getRecommendation()); + o.setOptions(StrUtil.isNotBlank(result.getRecommendation()) ? result.getRecommendation() : "未填写备注"); o.setResultScore(result.getAssessResult()); }); }); diff --git a/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentStatisticsServiceImpl.java b/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentStatisticsServiceImpl.java new file mode 100644 index 0000000..6daa6a5 --- /dev/null +++ b/src/main/java/io/v/nutz/wakershome/service/impl/review/CommentStatisticsServiceImpl.java @@ -0,0 +1,94 @@ +package io.v.nutz.wakershome.service.impl.review; + +import cn.hutool.core.convert.Convert; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.policy.HackLoopTableRenderPolicy; +import io.v.nutz.base.service.impl.BaseServiceImpl; +import io.v.nutz.wakershome.model.review.CommentBz; +import io.v.nutz.wakershome.model.review.CommentNr; +import io.v.nutz.wakershome.model.review.CommentPeo; +import io.v.nutz.wakershome.model.review.CommentZb; +import io.v.nutz.wakershome.service.review.CommentPeoService; +import io.v.nutz.wakershome.service.review.CommentStatisticsService; +import io.v.nutz.web.commons.base.Globals; +import org.ddr.poi.html.HtmlRenderPolicy; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; + +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @version 1.0 + * @Author zzr + * @name:CommentStatisticsServiceImpl + * @Date 2024/8/26 9:48 + * @注释 + */ +@IocBean(args = {"refer:dao"}) +public class CommentStatisticsServiceImpl extends BaseServiceImpl implements CommentStatisticsService { + public CommentStatisticsServiceImpl(Dao dao) { + super(dao); + } + + @Inject + private CommentPeoService commentPeoService; + + + @Override + public void exportWord(CommentPeo peo, OutputStream outputStream) { + NutMap map = commentPeoService.getBzById(peo.getId()); + //最后的导出表 + NutMap resultMap = NutMap.NEW(); + + List list = new ArrayList<>(); + resultMap.put("schoolName", Globals.schoolName); + + CommentZb khzb = map.getAs("zbxx", CommentZb.class); + List nrs = khzb.getNrs(); + + nrs.forEach(v -> { + NutMap nutMap = NutMap.NEW(); + List bzs = v.getBzs(); + String nr = bzs.stream().sorted(Comparator.comparing(CommentBz::getContentNumber)).map(item -> { + return item.getContentNumber() + "." + item.getInspection() + "(" + item.getScore() + "分)"; + }).collect(Collectors.joining("\n")); + + int jf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getScore())).sum(); + int zpf = bzs.stream().mapToInt(item -> Integer.parseInt(item.getResultScore())).sum(); + CommentBz commentBz = bzs.stream().findFirst().orElse(new CommentBz()); + + nutMap.put("xh", Convert.numberToChinese(Double.parseDouble(v.getContentNumber()), false)); + nutMap.put("zb", v.getContent()); + nutMap.put("nr", nr); + nutMap.put("jf", jf); + nutMap.put("zpf", zpf); + nutMap.put("bz", commentBz.getOptions()); + list.add(nutMap); + }); + + HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); + HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy(); + htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true); + + Configure config = Configure.newBuilder().bind("list", policy) + .bind("list.nr", htmlRenderPolicy).build(); + resultMap.put("list", list); + + try { + InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/WakesHome.docx"); + XWPFTemplate.compile(inputStream, config).render(resultMap, outputStream); + inputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/io/v/nutz/wakershome/service/review/CommentPeoService.java b/src/main/java/io/v/nutz/wakershome/service/review/CommentPeoService.java index e98b392..1c968f4 100644 --- a/src/main/java/io/v/nutz/wakershome/service/review/CommentPeoService.java +++ b/src/main/java/io/v/nutz/wakershome/service/review/CommentPeoService.java @@ -4,6 +4,8 @@ import io.v.nutz.service.ViService; import io.v.nutz.wakershome.model.review.CommentPeo; import org.nutz.lang.util.NutMap; +import java.io.InputStream; + public interface CommentPeoService extends ViService { /** @@ -12,4 +14,5 @@ public interface CommentPeoService extends ViService { * @return */ NutMap getBzById(String peoId); + } diff --git a/src/main/java/io/v/nutz/wakershome/service/review/CommentStatisticsService.java b/src/main/java/io/v/nutz/wakershome/service/review/CommentStatisticsService.java new file mode 100644 index 0000000..c78fec9 --- /dev/null +++ b/src/main/java/io/v/nutz/wakershome/service/review/CommentStatisticsService.java @@ -0,0 +1,23 @@ +package io.v.nutz.wakershome.service.review; + +import io.v.nutz.base.service.BaseService; +import io.v.nutz.wakershome.model.review.CommentPeo; +import org.nutz.lang.util.NutMap; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; + +/** + * @version 1.0 + * @Author zzr + * @name:CommentStatisticsService + * @Date 2024/8/26 9:47 + * @注释 + */ +public interface CommentStatisticsService extends BaseService { + + void exportWord(CommentPeo peo, OutputStream outputStream); + + + +} diff --git a/src/main/java/io/v/nutz/wakershome/service/review/CommentZbService.java b/src/main/java/io/v/nutz/wakershome/service/review/CommentZbService.java index 0c8619b..19f50c9 100644 --- a/src/main/java/io/v/nutz/wakershome/service/review/CommentZbService.java +++ b/src/main/java/io/v/nutz/wakershome/service/review/CommentZbService.java @@ -8,6 +8,4 @@ public interface CommentZbService extends ViService { CommentZb khzb(String zbid); - - } diff --git a/src/main/resources/static/components/wakeshome/review/ReviewResult.vue b/src/main/resources/static/components/wakeshome/review/ReviewResult.vue index c9b02d4..57b57e9 100644 --- a/src/main/resources/static/components/wakeshome/review/ReviewResult.vue +++ b/src/main/resources/static/components/wakeshome/review/ReviewResult.vue @@ -66,7 +66,7 @@ 备注 - diff --git a/src/main/resources/views/platform/wakeshome/review/statistics.html b/src/main/resources/views/platform/wakeshome/review/statistics.html index 7b020e2..d4d982a 100644 --- a/src/main/resources/views/platform/wakeshome/review/statistics.html +++ b/src/main/resources/views/platform/wakeshome/review/statistics.html @@ -5,7 +5,6 @@ layout("/layouts/platform.html"){
- 搜索 - + 搜索
- - - + :size="tableSize" v-loading="tableLoading" ref="table" class="vi-table"> + :index="indexMethod" label="序号" width="80px"> - @@ -160,13 +153,11 @@ layout("/layouts/platform.html"){ + label="操作" width="240px" fixed="right"> @@ -246,8 +237,23 @@ layout("/layouts/platform.html"){ 'wakes-home-review': httpVueLoader('/components/wakeshome/review/ReviewResult.vue?v=' + moment(new Date()).unix()), }, methods: { - doDownLoad(row){ - window.open(loc() + '/doDownLoad?zbId=' + this.pageForm.zbId + '&unionId=' + row.id) + doDownLoad(row,flag){ + if (flag) { + // 为true,自我评议 + window.open(loc() + '/doDownLoadSingleByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id) + } else { + // false, 会员评议,导出压缩包 + window.open(loc() + '/doDownLoadZipByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id) + } + }, + downloadFilesByUnion(row){ + window.open(loc() + '/exportFilesByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id) + }, + downloadByPeoId(row){ + window.open(loc() + '/exportByPeoId?peoId=' + row.id) + }, + downloadFilesByPeoId(){ + window.open(loc() + '/exportFilesByPeoId?peoId=' + row.id) }, async getReviewResultNum(row) { const res = await $.post(loc() + "/getReviewResultNum", { @@ -313,7 +319,7 @@ layout("/layouts/platform.html"){ computed: { canDownload() { const data = this.zbList.find(v=> v.id === this.pageForm.zbId) - return data.commentTarget===3 && data.unionIds + return data.commentTarget===3 && data.unionIds && data.unionIds.length > 0 } }, async created() {