From ff4d0ac4eb1b62558b404103f29b0c8fcd01a3c1 Mon Sep 17 00:00:00 2001 From: luyan Date: Wed, 26 Jul 2023 17:45:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=85=E6=B8=B8=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA=E5=92=8C=E6=A8=A1?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcPublicServiceController.java | 44 ++++++++++++------ .../com/epmet/excel/IcPublicServiceExcel.java | 2 +- .../IcPublicServiceExcelImportListener.java | 44 ++++++++++-------- .../epmet/service/IcPublicServiceService.java | 4 +- .../impl/IcPublicServiceServiceImpl.java | 23 ++++++--- .../excel/tourism_resource_template.xlsx | Bin 0 -> 9562 bytes .../resources/mapper/IcPublicServiceDao.xml | 2 +- 7 files changed, 76 insertions(+), 43 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-server/src/main/resources/excel/tourism_resource_template.xlsx diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java index f9b47cdb41..543e900e61 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPublicServiceController.java @@ -36,6 +36,7 @@ import com.epmet.utils.ImportTaskUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.VerticalAlignment; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +46,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import javax.websocket.server.PathParam; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -67,6 +69,8 @@ import java.util.UUID; @Slf4j public class IcPublicServiceController implements ResultDataResolver { + private static final String CATEGORY_TYPE = "tourism_resource"; + @Autowired private IcPublicServiceService icPublicServiceService; @@ -77,8 +81,8 @@ public class IcPublicServiceController implements ResultDataResolver { return new Result>().ok(icPublicServiceService.list(formDTO)); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { IcPublicServiceDTO data = icPublicServiceService.get(id); return new Result().ok(data); } @@ -118,13 +122,20 @@ public class IcPublicServiceController implements ResultDataResolver { } @RequestMapping(value = "download", method = {RequestMethod.GET, RequestMethod.POST}) - public void downloadTemplate(HttpServletResponse response) throws IOException { + public void downloadTemplate(HttpServletResponse response, @PathParam("categoryType") String categoryType) throws IOException { response.setCharacterEncoding("UTF-8"); response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); - response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("公共服务导入模板", "UTF-8") + ".xlsx"); - - InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/public_service_template.xlsx"); + String fileName; + if (StringUtils.isNotEmpty(categoryType) && categoryType.equals(CATEGORY_TYPE)) { + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("旅游资源导入模板", "UTF-8") + ".xlsx"); + fileName = "excel/tourism_resource_template.xlsx"; + } else { + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("公共服务导入模板", "UTF-8") + ".xlsx"); + fileName = "excel/public_service_template.xlsx"; + } + InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName); try { ServletOutputStream os = response.getOutputStream(); IOUtils.copy(is, os); @@ -144,7 +155,8 @@ public class IcPublicServiceController implements ResultDataResolver { formDTO.setPageNo(NumConstant.ONE); formDTO.setPageSize(NumConstant.TEN_THOUSAND); try { - String fileName = "公共服务管理" + DateUtils.format(new Date()) + ".xlsx"; + String fileName = formDTO.getCategoryType().equals(CATEGORY_TYPE) ? "旅游资源管理" + DateUtils.format(new Date()) + ".xlsx" : + "公共服务管理" + DateUtils.format(new Date()) + ".xlsx"; // 头的策略 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 背景设置为红色 @@ -184,18 +196,22 @@ public class IcPublicServiceController implements ResultDataResolver { } @PostMapping("import") - public Result importExcel(MultipartFile file) { + public Result importExcel(MultipartFile file, String categoryType) { // 1.暂存文件 String originalFilename = file.getOriginalFilename(); String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_public_service", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir(categoryType, "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【公共服务管理导入】创建临时存储文件失败:{}", errorMsg); + if (categoryType.equals(CATEGORY_TYPE)) { + log.error("【旅游资源管理导入】创建临时存储文件失败:{}", errorMsg); + } else { + log.error("【公共服务管理导入】创建临时存储文件失败:{}", errorMsg); + } throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); } @@ -217,11 +233,11 @@ public class IcPublicServiceController implements ResultDataResolver { ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.IC_PUBLIC_SERVICE), ServiceConstant.EPMET_COMMON_SERVICE, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "excel导入公共服务管理信息错误", - "导入公共服务管理信息失败"); + categoryType.equals(CATEGORY_TYPE) ? "excel导入旅游资源管理信息错误" : "excel导入公共服务管理信息错误", + categoryType.equals(CATEGORY_TYPE) ? "导入旅游资源管理信息失败" : "导入公共服务管理信息失败"); // 3.执行导入 - icPublicServiceService.importExcel(fileSavePath, rstData.getTaskId()); + icPublicServiceService.importExcel(fileSavePath, rstData.getTaskId(), categoryType); return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java index 872b2fd61b..8890f587a0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcPublicServiceExcel.java @@ -66,4 +66,4 @@ public class IcPublicServiceExcel { private String errorInfo; } -} \ No newline at end of file +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java index 9feebd1fe0..3b8fbc47ba 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcPublicServiceExcelImportListener.java @@ -37,6 +37,7 @@ public class IcPublicServiceExcelImportListener implements ReadListener datas = new ArrayList<>(); @@ -50,12 +51,13 @@ public class IcPublicServiceExcelImportListener implements ReadListener existMap = null; - public IcPublicServiceExcelImportListener(String currentUserId, String currentCustomerId, String currentAgencyId, String currentAgencyPids, - IcPublicServiceServiceImpl IcPublicServiceServiceImpl, CoverageService coverageService, IcPublicServiceDao icPublicServiceDao) { + public IcPublicServiceExcelImportListener(String currentUserId, String currentCustomerId, String currentAgencyId, String currentAgencyPids, String categoryType, + IcPublicServiceServiceImpl IcPublicServiceServiceImpl, CoverageService coverageService, IcPublicServiceDao icPublicServiceDao) { this.currentUserId = currentUserId; this.currentCustomerId = currentCustomerId; this.currentAgencyId = currentAgencyId; this.currentAgencyPids = currentAgencyPids; + this.categoryType = categoryType; this.IcPublicServiceServiceImpl = IcPublicServiceServiceImpl; this.coverageService = coverageService; this.icPublicServiceDao = icPublicServiceDao; @@ -88,32 +90,36 @@ public class IcPublicServiceExcelImportListener implements ReadListener dictList = coverageService.dictMap(currentCustomerId, "public_service"); + List dictList = coverageService.dictMap(currentCustomerId, categoryType); Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); datas.forEach(d -> { d.setCategory(dictMap.get(d.getCategory())); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java index 889917b05e..aa9b426600 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPublicServiceService.java @@ -69,5 +69,5 @@ public interface IcPublicServiceService extends BaseService_x1qNHH0vPbPOQf9nwgb2&mLZ*U-|bNT)Q?Al=;|IY@^zNSA<=z&Co{ z_jf#=^ZfI-)pVsUXPj*(mg@|3IGiN08j(+v3A|f5dZ*eWB`Bw zfQG35$j;Wu%+~3-mb<+f)R4{1#+oYY9wImsfC#_;-{XIH28!bbZ96%DGUxGExY2dm z##>oM%!qHr5?D31QR}}2KDnTWNvs_1f(nY5k*R086-A)1;couy{<&mhWV{+zUNRjd z9pBhz7W`$ieS5jhFOg&H6+wrY5HblqlIPFEAt`_-Ikq9ZR&P3yHo^Mkh%A)txoN#} zEZ~J+L0l=eZt{!$7xsO*uJJNyv z9kx?smDHZG*(6H@QTwaSAV%?OKVxC3p1&4rhxL3s;c70AKDeno!lR69(S8|qzxW9#k?383~Df)YGyHA93GbP3KsOgKTG zJDOQT+1Y-a|0U-CFdKjQ>BTY1N=Tf*;6wjA>Y*0ld1jh1Yj&9}Wz!o3&ZL_c{7F$c zjW_4Al1}eyDLhikT+`i?&LEZ9ZrQ+BF8B#D=>DmY@g|*4rJMSCRJ>S6+3-F2PCpv! zqTLT?+~Ld{?`O`$LW@_k0@>*Ad_m4~Iz9fP4F(nhPvRXxPfrzbi|7sFHy#8pk*W>z z^o+=(2}6;x#4egIoB8;a%Pa;x?D}(QS)%f!N22sDqGqLbPI$9)-sjSFlzR_szaF@z zF+rkWe0r0yb!hcTLqnE6C>bg3%jKQ`a&>c#43xmWnG)jv|kPb@C+1U}LTrwl0o4Z+Qt{SVf-+BsSo+u2$D$ZG#(5CS~4!RhtC zeH3dbD|K@KTQF}!I9yX)?&HlmvD55n@8Y8MS2N8sP;+~qE|D=e8a|m)Vn?zIc0U~M zb2;b5Sw$i^>tHDe#lPo4V0|czY&U!|jD%*qUqaz8hfILKx3l|U9}_1TO3)w{^YLLi zp}?05Fg-~~b{>uNX~S4BkL3u5GnXZF^ud6#-r`{Oy6;t>=3a?^bzL1*G81IuuHn)A zHKzKI$6qhcW!h%mCwS=%8wTHM#M8oUZ< z>(OOX(_!k#TW$IPIoskWO8TN(OS>hKgbeps0% z23|_>`2Iu^Af0jTP_4=83N8L#3*o$M#)U@Dd1zADXK_Q>Y=Q7Thj*!Y3IZzEH}=wO zYf)HPV3M9S@PkybM;r{p@AAS~>S&Hf1$P2yA`Ha0icX@yR?-#u$AmUzqp-5zk@G#I zZ+$Bz%Sug&vHSs(X=*{wzJOI=G_NfeX6X(B8mwDfv+U`cW3awiE!97XlW33|`A%~h zo}ZA7q_~EiTV@~REsz=b+}=|4+49tgpJmg=Tt@G`2siQThg}sAuC|aQLK~Ci1G_Lq zK3>0!Imgp$1$K+w&t4e8cW?~cqNO10=a5=(Xo13fT?5Fqv1BK&XM-{7HBd=eh^6NLtm(#%CE=Vwq1{{@V7)Ff4E1bFT4= z*(=z!Xd0+!df&6v>Lk{%DP6h8crZ90N;c};Y@Yhn^Tak2XAd8iZ|zm#%_gNn2{Lf` zkqrJmd)L~H>#Rrsz!55Zx%8jeb8@#f`#EjJ+QSj!9KcrEW1NJ;+3!5teA@WZb^7S& zbUB7}rM9cpM7M9OUE}@h9o9ZRvR`W^UPPgz2ylq0)uZmHj8YOIxK6SALZ({DShBno zY}pkz+qvZ{1Vo}_DpMcB)A!2qD0cNYduT>9Usqp|6%ozCvAL!; z>AIDvP74UlBV}GuDygO-dfalXoXu1iCQMgPiQF+k9H{V_c1XsZ5-53^Vz?Hs$kScP zyEb$n{4h*f(5E(9F_ss#$OaUPU$demS1=hum3E#e;2-~#M0=jQ{Y=}iD&|&^|4cI@ zj*(8n8>I2>Leh!xTt^(p^o_U0NJY%Rv?gXMQ)548*nvkNbf{T|KQN$~`rF%LEdvWv zNqVrxX0-IEci%ZXWt-Q{#Qq$1BHa25a} zYv13^cAKF@&;$^bYYpB9nLl}cNcK@ls_xrfqnFQ2%O_Jx+5Q_`P>sh4Mc@|7clXkvlw=qiM%G28eP;j zO`RfAQJa#&B-ZQsD67z!CLKc1h4?~g;4;3cvusy*#wL7Sr8v+F<@5ze zzyVijnfKwV=0z}9=d3IS^LxF5+G3{?9e;)ETXU-y91+uUl*le=SLc4}`gh0yua@ON z;RM2~v|~J;haN)kS>1UXS7o|SQ%3M6s%LLMj9uznflRCOG^)1=i`FP#} zkjy`lm$-&K>N|6`SEN)0Kqk|xu?_C@_(8&xk?Inwp;M-P`)9`{5vsey)yBdI@gy!S zru+jgKtZvRj3y$id^QxDeJIiiV9`8ZFJj4%ZDf37gZV3@!}v=NL9&}gEC0%j>5# z-kBus*du6l3pKPB%5PuSj4_MIfazt~DEPvijY}#HkTTE|aBvQ>GLBym^s%Rg#f*69 z2i@y0hFw;E7fj)%R?Qi_D(gH#haMF)VvA%~*5!8RGwQemhcBTGs+J!>8+ugYk#ABc z%J5_tdAA!#zTAGAtkkOSGSu#t)E>q4JWkTAecF3+qSUe2wiQb?wImsU2ujzF~hEy~{dQKfkOLLbu2WOU7u{mU~u?O;;Y z<36VM_`(lH0#3$f_?zw!Ej3XM1h*gOOv-mBfF^I;+!njv!_wCzYY!is+<`0h3c3ZrFLm`)BBa6sq8KmlHyG1@!dp{+w^2qE zQl)MWCCVuithmt5fM=+?Ka!Z~=mJJ32Nv?OE|a_8(_LJ79X0+lUPY!6%(REjt*zTY z`gJz)R%mp<#HPXA6XSLVx0DJ5)Zp}ENzeV-7guAx=P$EAm$aF$HVAV z-i$Ln992QExe5&+QVGo_Qet|_+Dw>6#KNTVv^ZD5s^SuT@Z?DMu0`x;D)@QIi5*ty zlmPlZ&zsAPn2K{{wWr(d2m&(n)@`m+!4Vs6Xhg&1zNYcRvE2`)$y1A?_m)8%c_?7Ags@GU@IOCGe^C?ZE8;ArcB<2lmM z_r{8vF<+o@#q>U-oj_x4H0%psv}1et>w$R+3j)1ZA#T!Ym=URPg07PvKW(tHKKEpj z=ow_M^D$&4%%VRd{cbG>L=R2dixZBBs=-mRV^Dj)P@GAY!t~IBmV`1z4Y<31BP~ z?IR!V$1fELG-`t<-M^>f9R^s&AY8TNBl)3R{w&#@%*|}f*nggXMvOf@)krd4!ZzCD z2eQz71(%b2Jzo9&FRH|i^EwOF1#&NYlN{DaBCTK6HN5}!IxrCY8WW!%2d!X2(O@87 z5A08K#&WcmG&DmNVl$}2T+mOycGAd0UH?a89OhycG7mI7;SRxBFxx zq!`phS*i`Lf#$Ff5-Asv-t(M8bvnA{txM;dW2^Z@OY;xFEXVL-YW}edsZt=?OEM1? z3grQXlwqB!7R{Y$0JE+`*GRdjb>bBd02!f}r>E;)s+`GiF3* z^i1bfRhxkgdJkvwP)|C$OiT_G#~3RPj5W+Kj0EW^hMO5Q`qU33C;)m ze&456WJq=6x9jkW`1RU#2+jqL907qC13J+nujk%^DSEN8aBnTS>ct0zFcayA=!5~bAv^EG zSeI*%v)Def)uy?oAO+R?>V9!$)yFjvOYG)6nG~q-MGgC8*qeq^U-X4bL?k^w`jw*? zzXLy>kmK-zT;ct>6%nKZI=1*5kUnHF6C4ljWJ*Z)=!1ZSbzDP$gJr06%a6+oPY-~0 z#CZ8iy{5+W8uZn2_^$^$&8PzBz7BWT*d?k@7olE!l)@nJ_rE zLvBFyN#l^1UWRXvI0Fb}7O@!&kB}gTz%widiS0T2C59P{^I2(o%y;8Fg^Iv4$jF0= zX8)uXN@AzbatH~P%iA)7m~@53L-SX9!!802w&^XJrY$(KY%4;mUJwzO$cbQ>O)-VdDweB%4mer&4RW8JH7~&7 zX2kU~<$Y!szc$MGk$mAmD^08L*?C^{fmWrR2yc;dtys5#~|%cuo}nzZE&k-In^p>S}-=5L@h)q zoCc{#-Zj3&DluOtF@H`;dXB48o_`*V7Tbhyl}31YH}WLRxelYyEZwokkzWhq#Mb)e z2@Aep4>k{Pl7HT!1I*5@cG;FiLJyW9b&ew*i{&U+5X+i{XW)$-vq^UA{EmK23Mc9{ zG{kDGf0l|G9~v2xv-x2oaaKZen0l_Z7X{do;6 zd+@ZF6Ae@9;sE^+hadHe4oB8jJ+P6Rx2B>XOl?Z!S-?=%h;b6?zFWXbTkUvDA-1kKm9}7`8avH;qI$u!l}px$*j$-o^soaxXSdkzUMwj@-37@Zl(WR5s=w%r3@s0u zPJn+u09bF;*|Pn)>CX&oH5v~z;OjOu2Y7%sWJ?QmhX=C z54ntw=oPmCm_-=>*z|;l|mpdlsh)&aky2c!qe;OLMa2Je7;iC0%oft zk$2a;9tk1t-gFLKTS^aclhfXV$X~LyO;=;(t!1Zd)GD+;P2&r%LJ?Tdc&GxUU(M^{_APi3tD zxht16eM4xPkUMdTfvnP)=>#tr$&y=LupK5~k!{}MHy0--lKs_`5HG=m2&-#7)mM_t z--6OQ+M|iC1C<7Gw)J^KKHeduNBF%8MsRJ{n|LjfD)?pBE>*>2?Pl^yxY0IYg&g!e zYo4-51{-fM?i<_Of`nn-MAq)(5z8Z%htGNL*cutzNN#J=DU`pex_fkedfY!vS$qc% ziGN4)PDZ$>863@a@KL;9(QIPpX!b9h{|jaSz%!;p@sD2GVflKiG9PP6@IH~2MPDPJ@$C# zW(w==TWj-pq?d)?^DwygS1BrUXF}6n?Q6X(-fh%9p9fL<_)|irUH1zr#)eDpWj>7e zN5}k3mg42r?A6*99J?A|S=He$ERH!ia{uF7Wj@VL(wB~u3+oN|Kvwb@!aF_`58#6DkXztdIT|4obg-OKNb@jtyZ!W#|n2l#zy{=0*}R&;-w z0|2$80Kh-gcfULMYrg)~0m*}39Q-GH|8D))`1q^!Cgm^I|BaSvO2}|{{Me9z3Fv@_ K)Bu_vpZ*_(zYb9V literal 0 HcmV?d00001 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml index f91ca33080..4aa8f9d86c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPublicServiceDao.xml @@ -75,7 +75,7 @@ `name` name, category category, area_covered areaCovered, - CONCAT(area_covered,'平方公里') areaCoveredName, + CONCAT(area_covered,'平方米') areaCoveredName, capacity capacity, CONCAT(capacity,'人') capacityName, address address,