From a8fdddf0bef6a3abd6a1a63a586f483cac2f5138 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Sun, 23 Apr 2023 17:23:55 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=94=B3=E6=8A=A5=E4=B8=AD=E5=A4=A7?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=20=E9=A1=B9=E7=9B=AE=E6=9D=A1=E7=BA=BF?= =?UTF-8?q?=E5=85=88=E5=86=99=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/projectdeclared/converter/ApplicationConverter.java | 2 ++ .../com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java index aeca03d..43c1cdc 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java @@ -67,6 +67,8 @@ public class ApplicationConverter { .projectApplyFile(convertFile(projectInfo.getProjectApplicationForm(),fileService)) .researchReport(convertFile(projectInfo.getPreliminaryPlanFile(),fileService)) .applicationInfo(convertApplications(applications,fileService)) + //条线单位 先写死 + .lineManageUnit("GO_3a8d76d825a849488916e618ff2f7474") .build(); } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java index d84da7e..335468f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java @@ -123,4 +123,6 @@ public class ProvincialProjectDTO implements Serializable { @ApiModelProperty("app信息") private List applicationInfo; + @ApiModelProperty("条线单位 先写死") + private String lineManageUnit; } From c01cfd1f6f819221231b77b5118b3037bef88e19 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Mon, 24 Apr 2023 12:42:31 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ningdatech/pmapi/meeting/controller/MeetingController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java index 77ff065..23ec12a 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java @@ -89,9 +89,9 @@ public class MeetingController { return meetingManage.meetingListForLeave(req); } - @ApiOperation("会议详情-基本信息") + @ApiOperation("项目详情-基本信息") @GetMapping("/basicInfo/{meetingId}") - @WebLog(value = "会议详情-基本信息") + @WebLog(value = "项目详情-基本信息",response = true,project = true) public MeetingDetailBasicVO meetingBasic(@PathVariable Long meetingId) { return meetingManage.getMeetingDetail(meetingId); } From 7b96c03c0f841c668ec55b71126ab18af7fb6659 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Mon, 24 Apr 2023 16:45:40 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=9B=96=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ningdatech/pmapi/todocenter/manage/TodoCenterManage.java | 12 +++++++++++- pmapi/src/main/resources/template/预审申请单.html | 6 +++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index 516db34..0b1767f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -957,8 +957,13 @@ public class TodoCenterManage { * @since 2023/03/16 22:46 */ public Long getNotSealedPdf(Long projectId) { - // 设置pdf模板参数 Project project = projectService.getById(projectId); + Long pretrialFileId = project.getPretrialFileId(); + // 如果项目关联的预审文件ID不为空,说明已经进行过盖章审核,直接返回盖章后的预审申请单文件ID + if (Objects.nonNull(pretrialFileId)){ + return pretrialFileId; + } + // 设置pdf模板参数 JSONObject paramsMap = assemblyPdfParams(project); paramsMap.put("superOrgOpinion",null); paramsMap.put("superOrgAuditDate",null); @@ -1072,6 +1077,10 @@ public class TodoCenterManage { paramsMap.put("yearPlanInvest",yearPlanInvest); // TODO 根据地区编码获取当地大数据局(中心)的名称 paramsMap.put("bigDataBureauName",null); + // 备注模块如果为空 + if (Objects.isNull(pdfGenerateDTO.getProjectRemarks())){ + paramsMap.put("projectRemarks",null); + } // 获取立项依据 String buildBasis = project.getBuildBasis(); @@ -1097,6 +1106,7 @@ public class TodoCenterManage { } String buildBasisList = builder.toString(); paramsMap.put("buildBasisList",buildBasisList); + return paramsMap; } diff --git a/pmapi/src/main/resources/template/预审申请单.html b/pmapi/src/main/resources/template/预审申请单.html index d0d2937..1319e8b 100644 --- a/pmapi/src/main/resources/template/预审申请单.html +++ b/pmapi/src/main/resources/template/预审申请单.html @@ -24,6 +24,10 @@ font-size: 34px; margin: 40px 0 0 0; font-family: SimSun; + word-break: break-all; + } + .tit { + word-break: break-all; } .tab { padding: 0 20px; @@ -84,7 +88,7 @@

- #title# + #title#

From 1eeb4a3dbfc7535b372cb54b934b45e3eec0189c Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Tue, 25 Apr 2023 11:17:23 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2023年数字化项目年度计划编辑表.xls | Bin 30720 -> 31232 bytes ...2023年数字化项目年度计划编辑表.xls | Bin 31232 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 template/丽水市2023年数字化项目年度计划编辑表.xls diff --git a/pmapi/src/main/resources/template/丽水市2023年数字化项目年度计划编辑表.xls b/pmapi/src/main/resources/template/丽水市2023年数字化项目年度计划编辑表.xls index 04432a460dc4fe4451f107f0f4de29fc77241fe0..d06cdadcda2cd0466a1bf58d32caa5f0f6ba8f42 100644 GIT binary patch delta 2252 zcmZ`*TTEP46y4`?XL!TBU}g%_4wXlX6pH210ya`p9!Xn3TOa{j9y2f?uNnHVfjF4P zFSUhk6HH8ev@!Z&V(ay%8nulY67`GJkS3axPy3}&f11>BoqK04uaTR3IP0vv*WPEJ zJ!fX&53%sKSZortx1U`RqJb^SinoS{{*A?A@~y}GFy1408?|+%KwMWR(}GcZ@udf% zjxVTJl(`^3R$moAYL_j;LXh^G)vIVZ>0hRKZE*T0hVctb%hWR z_JGbhx!F-AY#heu!sr%xd7%nbyxxMZU){klK2HWLwi`_its`Bnh*t~7GFJ~@i zlA5n8`1v*zcJ8n$uD=epDB*jb1~A=~(BI4UJh%6$1iP&|#oP>br*c7DIh>T;qq8>t zFez(P)+TG`b?u0IB(5xX4V(PtD@=^CA z;4XKoDAB^66_rE2Hh$B_<%PGbXRufVct#w%1%a{ zg8w9p^0txDxZ4z*rBDD7q|g}VQ{b;ZNWlB&v=LZ^K=<< z69{ZG>;rnD6Of5u7NBS|(wc_8Ou%8-3<6AHN$$84uf&_poXMoxV0ICbn+*$-8MY$a zMe3kSP;H^;82-rs!`pm|{@?dS`EpgYdA$OcJm%{4AT+w47&8nMPMv5%r$7)M8o=#255^xl;Q$XTOQ*!J|QroACgoJ zZ52ouZ1l((Y-bFHiI$7^qY?f*HZS`tLAJ#ELUzL}sw%rqHrSBfG$-{^#Z9($`U`N7 zAD0L!IZOPYryd_Ld+%{k#y!1lY9keP@Xg+GZW>5aZuMzvz3(c*%Cmj1aa#Xj%Oc^? zj`z2VytmMrMBkteDU?B1_2(MjeCe0y6JQItH>d!kfdo*Yi4=O10%3!~Q^lsO6@>dTw3ZL)C5SxgzNE$=?prTE%zoi2f_WKv_Ty z+DI^>AZfDjucMVY7F?n-MGKznY|RsTPJBL|ucTg8=N`Q>zohvl##LUP@$k1Z&HRDt UzaIYCx}e^8=i`XB8m_ed2f2L8dH?_b delta 1429 zcmZuxZ){Ul6hG(g_4Uu@*1q=jwRErTum#4<>d4rH=rRbx_H8ILt_hnR(u@X%8!;Iq z%D)eMz(3v2NHoR|@B#UNxcLk*l57}E2PqL}!>v8aTQNICcQwTW4Ka?ic@ z{LcB^bMAS!$Ns@%_ptaZcFsR{9dQ%6#C7vgsZ^4q3jn%#Ji}u%58FP!)4&6im)pUo^Co8eHAqUV?%`GMGESj#M)w^kPn78P)a_e!>2}T1e zVxMwQ?m!K+e4{$utjS!iIzSjUxNlPH)Df=5Q$D4PuI%kbCx>Z{U5R$u=qmf`SYs`R z6KJ>eC1WeDp%!Dr`aCkGpr6jh4Axs>1|`kDb#AV-h^qh|00Q&^h;o1VoBE%fUNPI% zGw{_XA0Dx0&A;6=5cgw|a`85tw)KpyiFJ%lrTsWd2V3IS<#boO`1l3->&1v@&RU*b zKJ<ebZ_Ws@7&&p!`_ktYiZYD%GC-2*3%nAADt=Z>s9UaW} zDQVa?Kv%NseKPMftNSloOW6+uy6N=p<3W$`gUU!4b~o?@z1T$c!<$^Qz+&|e_oMzU z$kG;|5$eDPMO&unqml2AF2DwGF?O2eEnDO)cNHmHrLI_Xn@MG^w{3Zck4K@h_QH&V z`FJIT;0Xt7lDmXmF$sU<$Uf+=6kq2wl)4G`I}(b*>}Y2nuJ1oH?(Q z_xYw$-rwOIgeWxHT3a;mgc=%9V0C&glpma^BZ`8}NiV{~`#m8NE9_>b!rTxlLm zn#&tzylV5X&0F1hp#TZ`Eq|v!>DUxz&x3rjGJ6Hw@EZFRI7V_RJo2!*>RZn{`9#ZD z1MgB+rox)1;fuPi~$$^sNe07XP7Iw+^+dj{$LYO9cP` diff --git a/template/丽水市2023年数字化项目年度计划编辑表.xls b/template/丽水市2023年数字化项目年度计划编辑表.xls deleted file mode 100644 index dccfe42f8187c9f2cbfe2fc72c6d7af56b214370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31232 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 From 3c35a43175628d8af46fccc324ad3f36e2493b3f Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Tue, 25 Apr 2023 14:14:00 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectlib/manage/AnnualPlanLibManage.java | 33 ++++++++++++++++++++- .../pmapi/todocenter/manage/TodoCenterManage.java | 2 +- ...数字化项目年度计划编辑表(空).xls | Bin 0 -> 30208 bytes 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 pmapi/src/main/resources/template/丽水市2023年数字化项目年度计划编辑表(空).xls diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java index 05ecd4c..6dbe71e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java @@ -6,6 +6,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.hutool.core.bean.BeanUtil; import cn.hutool.poi.excel.ExcelUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -22,6 +23,7 @@ import com.ningdatech.pmapi.common.helper.UserInfoHelper; import com.ningdatech.pmapi.common.model.entity.ExcelExportWriter; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.util.ExcelDownUtil; +import com.ningdatech.pmapi.common.util.ExcelExportStyle; import com.ningdatech.pmapi.datascope.model.DataScopeDTO; import com.ningdatech.pmapi.datascope.utils.DataScopeUtil; import com.ningdatech.pmapi.expert.constant.ExpertUserInfoSensitiveFieldEnum; @@ -54,9 +56,14 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -399,7 +406,31 @@ public class AnnualPlanLibManage { map.put("mapList1", null); Workbook workbook = ExcelExportUtil.exportExcel(temp, map); if (workbook == null) { - throw new BizException("读取模板失败!"); + // 输出空模板 + // 获取本地目录的年度计划编辑表空Excel模板 + String emptyTemplate = "丽水市" + year + "年数字化项目年度计划编辑表(空)"; + try { + InputStream templateInputStream = + this.getClass().getClassLoader().getResourceAsStream("template" + File.separator + emptyTemplate + ".xls"); + + OutputStream outputStream = response.getOutputStream(); + // 设置要下载的文件的名称 + response.setHeader("Content-disposition", "attachment;fileName=" + new String(templateName.getBytes("UTF-8"),"ISO8859-1")); + // 设置文件的MIME类型 + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + + byte[] b = new byte[2048]; + int len; + while ((len = templateInputStream.read(b)) != -1) { + outputStream.write(b, 0, len); + } + templateInputStream.close(); + outputStream.flush(); + outputStream.close(); + } catch (IOException e) { + throw new BizException("读取模板失败!"); + } + return; } // 重置响应对象 response.reset(); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index 0b1767f..27e3e55 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -431,7 +431,7 @@ public class TodoCenterManage { // 调用盖章接口,获取盖章后返回的pdf文件字符数组 byte[] signPdf = IRSAPIRequest.createSignPdf(signReq); // 转换成MultipartFile - MultipartFile multipartFile = new MockMultipartFile("file", originalFileName + ".pdf", "application/pdf", signPdf); + MultipartFile multipartFile = new MockMultipartFile("file", originalFileName, "application/pdf", signPdf); // 上传OSS FileResultVO resultVo = fileService.upload(multipartFile, "default"); // 将返回的文件ID更新到项目库中对应的项目下 diff --git a/pmapi/src/main/resources/template/丽水市2023年数字化项目年度计划编辑表(空).xls b/pmapi/src/main/resources/template/丽水市2023年数字化项目年度计划编辑表(空).xls new file mode 100644 index 0000000000000000000000000000000000000000..7317bace7a0f7c1d913ad7c9c7d5d9241642e1e4 GIT binary patch literal 30208 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 Yb>?_^3F`k!^xrvuvXlS1sw;v20die0(EtDd literal 0 HcmV?d00001