From 4898451e9d5b127ed9cd27fad2848fc732c5f38a Mon Sep 17 00:00:00 2001 From: XLR_asd <xueyawei@seaskysh.com> Date: Fri, 13 Aug 2021 15:47:02 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=20=E7=A7=91=E7=9B=AE=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E8=A1=A8=E7=AE=A1=E7=90=86=E5=8A=A0=E5=85=A5=20=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=AF=BC=E5=87=BA=E4=B8=8B=E8=BD=BD=E6=A8=A1=E7=89=88?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/IBaseConfigController.java | 29 ++++++++ .../ExportExtendFormManageOut.java | 67 +++++++++++++++++ .../ImportExtendFormManageCmd.java | 63 ++++++++++++++++ .../baseconfig/ExtendFromManageSvr.java | 14 ++++ .../baseconfig/ExtendFromManageSvrImpl.java | 71 +++++++++++++++++++ .../command/quotamanage/QuotaManageSvr.java | 2 +- .../query/baseconfig/BaseConfigQuerySvr.java | 18 +++++ .../mapper/table/ExtendFromManageMapper.java | 1 + .../baseconfig/BaseConfigQuerySvrImpl.java | 65 +++++++++++++++++ .../controller/BaseConfigController.java | 44 ++++++++++++ 10 files changed, 373 insertions(+), 1 deletion(-) create mode 100644 ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ExportExtendFormManageOut.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ImportExtendFormManageCmd.java diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseConfigController.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseConfigController.java index 0afb4ffa..7ed713cb 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseConfigController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseConfigController.java @@ -15,11 +15,13 @@ import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeTree import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundCmd; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundOut; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundQry; +import com.seasky.projectplan.dto.projectplan.ProjectInfoPlanQry; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -76,6 +78,33 @@ public interface IBaseConfigController { Result<ExtendFormManageOut> queryExtendFormById(@RequestParam("id") Long id); @PostMapping("/queryExtendFormPage") Result<ExtendFormManageOut> queryExtendFormPage(@RequestBody ExtendFormManageQry qry); + /** + * 涓嬭浇 绉戠洰鎵╁睍琛ㄨ缃� 瀵煎叆妯℃澘 + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + */ + @PostMapping(path = "/downLoadExtendFormTemplate") + void downLoadExtendFormTemplate(HttpServletRequest request, HttpServletResponse response); + /** + * 瀵煎叆 绉戠洰鎵╁睍琛ㄨ缃� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param file 鏂囦欢 + * @return {@link Result<Object>} + */ + @PostMapping(path = "/importExtendForm") + Result<Object> importExtendForm(HttpServletRequest request, HttpServletResponse response, MultipartFile file); + /** + * 瀵煎嚭 绉戠洰鎵╁睍琛ㄨ缃� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param qry 椤圭洰鏃ュ父璁″垝qry + */ + @PostMapping(path = "/exportExtendForm") + void exportExtendForm(HttpServletRequest request, HttpServletResponse response, ExtendFormManageQry qry); @PostMapping("/exportExtendFormPage") void exportExtendFormPage(HttpServletRequest request, HttpServletResponse response, @RequestBody ExtendFormManageQry qry); diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ExportExtendFormManageOut.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ExportExtendFormManageOut.java new file mode 100644 index 00000000..09a16a7c --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ExportExtendFormManageOut.java @@ -0,0 +1,67 @@ +package com.seasky.projectplan.dto.baseconfig.extendfrommanage; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.seasky.core.ddd.base.BaseDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.Size; +import java.io.Serializable; + +/** + * 瀵煎嚭 绉戠洰鎵╁睍琛ㄧ鐞唎ut绫� + * + * @author XueYawei + * @date 2021/08/13 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonInclude(JsonInclude.Include.ALWAYS) +public class ExportExtendFormManageOut extends BaseDto implements Serializable { + + @ApiModelProperty(value = "骞翠唤",example = "") + @ExcelProperty(value = "骞翠唤",index = 0) + private Integer year; + + @ApiModelProperty("鎺掑簭缂栧彿") + @ExcelProperty(value = "鎺掑簭缂栧彿",index = 1) + private String rowNo; + + @ApiModelProperty("灞炴€у悕绉�") + @ExcelProperty(value = "灞炴€у悕绉�",index = 2) + private String fileName; + + @ApiModelProperty("鎵╁睍瀛楁缂栧彿") + @ExcelProperty(value = "鎵╁睍瀛楁缂栧彿",index = 3) + private String extendCode; + + @ApiModelProperty("鎵╁睍瀛楁鍚嶇О") + @ExcelProperty(value = "鎵╁睍瀛楁鍚嶇О",index = 4) + private String extendName; + + @ApiModelProperty("鎵╁睍绫诲瀷") + @ExcelProperty(value = "鎵╁睍绫诲瀷",index = 5) + private String extendType; + + @ApiModelProperty("鏉ユ簮") + @ExcelProperty(value = "鏉ユ簮",index = 6) + private String source; + + @ApiModelProperty("鏄惁鍚堣") + @ExcelProperty(value = "鏄惁鍚堣",index = 7) + private String isSum; + + @ApiModelProperty("鏄惁寮€鍚�") + @ExcelProperty(value = "鏄惁寮€鍚�",index = 8) + private String isOpen; + + @ApiModelProperty("鎵╁睍琛ㄥ悕绉�") + @ExcelProperty(value = "鎵╁睍琛ㄥ悕绉�",index = 9) + private String extendTableName; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ImportExtendFormManageCmd.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ImportExtendFormManageCmd.java new file mode 100644 index 00000000..4ce55650 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/extendfrommanage/ImportExtendFormManageCmd.java @@ -0,0 +1,63 @@ +package com.seasky.projectplan.dto.baseconfig.extendfrommanage; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.seasky.core.ddd.base.BaseDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 瀵煎叆 绉戠洰鎵╁睍琛ㄧ鐞哻md + * + * @author XueYawei + * @date 2021/08/13 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ImportExtendFormManageCmd extends BaseDto { + + @ApiModelProperty(value = "骞翠唤",example = "") + @ExcelProperty(value = "骞翠唤",index = 0) + private Integer year; + + @ApiModelProperty("鎺掑簭缂栧彿") + @ExcelProperty(value = "鎺掑簭缂栧彿",index = 1) + private String rowNo; + + @ApiModelProperty("灞炴€у悕绉�") + @ExcelProperty(value = "灞炴€у悕绉�",index = 2) + private String fileName; + + @ApiModelProperty("鎵╁睍瀛楁缂栧彿") + @ExcelProperty(value = "鎵╁睍瀛楁缂栧彿",index = 3) + private String extendCode; + + @ApiModelProperty("鎵╁睍瀛楁鍚嶇О") + @ExcelProperty(value = "鎵╁睍瀛楁鍚嶇О",index = 4) + private String extendName; + + @ApiModelProperty("鎵╁睍绫诲瀷") + @ExcelProperty(value = "鎵╁睍绫诲瀷",index = 5) + private String extendType; + + @ApiModelProperty("鏉ユ簮") + @ExcelProperty(value = "鏉ユ簮",index = 6) + private String source; + + @ApiModelProperty("鏄惁姹囨€�") + @ExcelProperty(value = "鏄惁姹囨€�(0:涓嶆眹鎬�;1:姹囨€�)",index = 7) + private String isSum; + + @ApiModelProperty("鏄惁寮€鍚�") + @ExcelProperty(value = "鏄惁寮€鍚�(濉� YES 鎴� NO)",index = 8) + private String isOpen; + + @ApiModelProperty("鎵╁睍琛ㄥ悕绉�") + @ExcelProperty(value = "鎵╁睍琛ㄥ悕绉�",index = 9) + private String extendTableName; + +} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvr.java index affe3b66..4a4f825d 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvr.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvr.java @@ -2,7 +2,10 @@ package com.seasky.projectplan.application.command.baseconfig; import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ExtendFormManageCmd; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -21,4 +24,15 @@ public interface ExtendFromManageSvr { void openExtendFormManage(List<Long> ids); void closeExtendFormManage(List<Long> ids); + + /** + * 瀵煎叆椤圭洰鐢虫姤涔� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param file 鏂囦欢 + * @return {@link Object} + */ + Object importExtendForm(HttpServletRequest request, HttpServletResponse response, MultipartFile file); + } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvrImpl.java index 1e8548f1..a8abe0fe 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvrImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/baseconfig/ExtendFromManageSvrImpl.java @@ -1,15 +1,43 @@ package com.seasky.projectplan.application.command.baseconfig; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSONObject; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.core.exception.DataBusinessException; +import com.seasky.core.util.EasyExcelUtil; +import com.seasky.core.util.ExceptionUtil; +import com.seasky.micro.basedata.dto.OrganizationDTO; +import com.seasky.micro.basedata.dto.UserDTO; import com.seasky.projectplan.application.command.assembler.BaseConfigAssembler; import com.seasky.projectplan.domain.aggregate.baseConfig.BaseConfigAgg; import com.seasky.projectplan.domain.aggregate.baseConfig.BaseConfigRepository; +import com.seasky.projectplan.domain.aggregate.budgetinfo.BudgetInfoAgg; +import com.seasky.projectplan.domain.aggregate.common.PlanTypeEnum; +import com.seasky.projectplan.domain.aggregate.projecttarget.ProjectTargetAgg; import com.seasky.projectplan.domain.service.DBaseConfigSvr; import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ExtendFormManageCmd; +import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ImportExtendFormManageCmd; +import com.seasky.projectplan.dto.projectplan.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 浠庣鐞唖vr impl @@ -52,4 +80,47 @@ public class ExtendFromManageSvrImpl implements ExtendFromManageSvr { service.isOpenExtendFormManage(agg); } + /** + * 瀵煎叆 绉戠洰鎵╁睍琛ㄧ鐞� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param file 鏂囦欢 + * @return {@link Object} + */ + @Override + public Object importExtendForm(HttpServletRequest request, HttpServletResponse response, MultipartFile file) { + boolean flag = true; + List<ImportExtendFormManageCmd> importList = new ArrayList<>(); + + try { + //绉戠洰鎵╁睍琛ㄧ鐞� + importList = EasyExcelUtil.getList(ImportExtendFormManageCmd.class, file.getInputStream(), 0); + } catch (IOException e) { + throw ExceptionUtil.getException(null, "绉戠洰鎵╁睍琛ㄨ缃� 瀵煎叆澶辫触--鎻愬彇鏁版嵁閿欒"); + } + //鎷艰淇濆瓨绉戠洰鎵╁睍琛ㄧ鐞嗕俊鎭叆鍙侺ist + + List<ExtendFormManageCmd> saveCmdList = MapperUtils.INSTANCE.mapAsList(ExtendFormManageCmd.class, importList); + if (flag == false) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/x-download"); + try{ + String fileName = URLEncoder.encode("绉戠洰鎵╁睍琛ㄨ缃鍏ラ敊璇枃妗d笅杞�","UTF-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx"); + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build(); + WriteSheet writeSheet = EasyExcel.writerSheet(0,"绉戠洰鎵╁睍琛ㄨ缃�").head(InfoImportCmd.class).build(); + excelWriter.write(saveCmdList,writeSheet); + excelWriter.finish(); + }catch (IOException e){ + throw ExceptionUtil.getException(null,"绉戠洰鎵╁睍琛ㄨ缃鍏ラ敊璇師鍥� 涓嬭浇澶辫触锛�"); + } + }else { + saveExtendFormManage(saveCmdList); + } + return 1; + } + } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java index 67db4d2f..8be2fe9b 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/command/quotamanage/QuotaManageSvr.java @@ -30,7 +30,7 @@ public interface QuotaManageSvr { Integer initProjectDeptDaily(QuotaManageCmd cmd); /** - * 鍒濆鍖栭儴闂� 椤圭洰缁忚垂瀹氶 + * 鍒濆鍖栭儴闂� 椤圭洰缁忚垂瀹氶 * * @param cmd cmd * @return {@link Result<Integer>} diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/application/query/baseconfig/BaseConfigQuerySvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/application/query/baseconfig/BaseConfigQuerySvr.java index 0197c599..a06ade29 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/application/query/baseconfig/BaseConfigQuerySvr.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/application/query/baseconfig/BaseConfigQuerySvr.java @@ -13,6 +13,7 @@ import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeQry; import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeTree1; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundOut; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundQry; +import com.seasky.projectplan.dto.projectplan.ProjectInfoPlanQry; import org.springframework.validation.annotation.Validated; import javax.servlet.http.HttpServletRequest; @@ -66,6 +67,23 @@ public interface BaseConfigQuerySvr { Integer queryConfigYearByType(String type); + /** + * 瀵煎嚭 + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param qry qry + */ + void exportExtendForm(HttpServletRequest request, HttpServletResponse response, ExtendFormManageQry qry); + + /** + * 椤圭洰鐢虫姤涔︽ā鏉夸笅杞� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + */ + void downLoadExtendFormTemplate(HttpServletRequest request, HttpServletResponse response); + } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ExtendFromManageMapper.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ExtendFromManageMapper.java index 693296cb..916fa055 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ExtendFromManageMapper.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/db/mapper/table/ExtendFromManageMapper.java @@ -26,6 +26,7 @@ public interface ExtendFromManageMapper extends BaseMapper<ExtendFormManagePo> { List<ExtendFormManagePo> selectByIds(@Param("pm") List<Long> ids); Page<ExtendFormManagePo> queryExtendFormPage(Page<ExtendFormManageOut> page,@Param("pm") ExtendFormManageQry qry); + List<ExtendFormManagePo> queryExtendFormPage(@Param("pm") ExtendFormManageQry qry); List<ExtendFormManagePo> queryExtendFormByTable(@Param("extendName")String extendName); diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/baseconfig/BaseConfigQuerySvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/baseconfig/BaseConfigQuerySvrImpl.java index a3e8afc3..7e6f113a 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/baseconfig/BaseConfigQuerySvrImpl.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/reader/baseconfig/BaseConfigQuerySvrImpl.java @@ -1,13 +1,19 @@ package com.seasky.projectplan.infrastructure.reader.baseconfig; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.seasky.core.common.Error; import com.seasky.core.common.Pagination; import com.seasky.core.common.ResponseCode; +import com.seasky.core.ddd.utils.MapperUtils; import com.seasky.core.exception.DataAccessException; import com.seasky.core.exception.DataVerifyException; +import com.seasky.core.util.ExceptionUtil; import com.seasky.micro.basedata.api.IUser; import com.seasky.micro.basedata.dto.OrganizationDTO; import com.seasky.projectplan.application.query.baseconfig.BaseConfigQuerySvr; @@ -18,15 +24,20 @@ import com.seasky.projectplan.dto.baseconfig.budgetswitch.BudgetSwitchQry; import com.seasky.projectplan.dto.baseconfig.budgetswitch.DeptSwitchOut; import com.seasky.projectplan.dto.baseconfig.devicetype.DeviceTypeOut; import com.seasky.projectplan.dto.baseconfig.devicetype.DeviceTypeQry; +import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ExportExtendFormManageOut; import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ExtendFormManageOut; import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ExtendFormManageQry; +import com.seasky.projectplan.dto.baseconfig.extendfrommanage.ImportExtendFormManageCmd; import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeOut; import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeQry; import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeTree1; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundOut; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundQry; +import com.seasky.projectplan.dto.projectplan.*; +import com.seasky.projectplan.infrastructure.dataobject.co.ProjectInfoPlanDo; import com.seasky.projectplan.infrastructure.dataobject.po.*; import com.seasky.projectplan.infrastructure.db.mapper.table.*; +import com.seasky.projectplan.infrastructure.reader.projectplan.ProjectPlanQueryConvert; import org.springframework.stereotype.Repository; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -35,6 +46,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.net.URLEncoder; import java.util.*; /** @@ -253,5 +266,57 @@ public class BaseConfigQuerySvrImpl implements BaseConfigQuerySvr { } } + /** + * 瀵煎嚭绉戠洰鎵╁睍琛ㄨ缃� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param qry qry + */ + @Override + public void exportExtendForm(HttpServletRequest request, HttpServletResponse response, ExtendFormManageQry qry) { + List<ExtendFormManagePo> poList = extendFromManageMapper.queryExtendFormPage(qry); + if (poList == null ){ + throw new DataAccessException(new Error(ResponseCode.DATA_ACCESS_NOT_FOUND, null, "鏃犲彲瀵煎嚭绉戠洰鎵╁睍琛ㄨ缃�", "")); + } + List<ExtendFormManageOut> outList = BaseConfigReaderConvert.toExtendFromManageOutList(poList); + List<ExportExtendFormManageOut> exportExtendFormManageOutList = MapperUtils.INSTANCE.mapAsList(ExportExtendFormManageOut.class,outList); + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/x-download"); + try{ + String fileName = URLEncoder.encode("绉戠洰鎵╁睍琛ㄨ缃鍑�","UTF-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(),ExportExtendFormManageOut.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("绉戠洰鎵╁睍琛ㄨ缃�").doWrite(exportExtendFormManageOutList); + }catch (IOException e){ + throw ExceptionUtil.getException(null,"瀵煎嚭绉戠洰鎵╁睍琛ㄨ缃け璐ワ紒"); + } + } + + /** + * 涓嬭浇绉戠洰鎵╁睍琛ㄨ缃ā鏉� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + */ + @Override + public void downLoadExtendFormTemplate(HttpServletRequest request, HttpServletResponse response) { + + List<ImportExtendFormManageCmd> importExtendFormManageCmds = new ArrayList<>(); + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/x-download"); + try{ + String fileName = URLEncoder.encode("绉戠洰鎵╁睍琛ㄨ缃ā鏉夸笅杞�","UTF-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx"); + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build(); + WriteSheet writeSheet = EasyExcel.writerSheet(0,"绉戠洰鎵╁睍琛ㄨ缃�").head(ImportExtendFormManageCmd.class).build(); + excelWriter.write(importExtendFormManageCmds,writeSheet); + excelWriter.finish(); + }catch (IOException e){ + throw ExceptionUtil.getException(null,"绉戠洰鎵╁睍琛ㄨ缃ā鏉夸笅杞藉け璐ワ紒"); + } + } + } diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseConfigController.java b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseConfigController.java index 7a556468..1a23a6c8 100644 --- a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseConfigController.java +++ b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseConfigController.java @@ -23,11 +23,14 @@ import com.seasky.projectplan.dto.baseconfig.informationtype.InformationTypeTree import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundCmd; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundOut; import com.seasky.projectplan.dto.baseconfig.personfund.PersonFundQry; +import com.seasky.projectplan.dto.projectplan.ProjectInfoPlanQry; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -181,6 +184,47 @@ public class BaseConfigController implements IBaseConfigController { return ok(ResponseCode.SUCCESS, baseConfigQuerySvr.queryExtendFormPage(qry)); } + /** + * 涓嬭浇绉戠洰鎵╁睍琛ㄨ缃ā鏉� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + */ + @Override + @ApiOperation("2.涓嬭浇绉戠洰鎵╁睍琛ㄨ缃ā鏉�") + public void downLoadExtendFormTemplate(HttpServletRequest request, HttpServletResponse response) { + baseConfigQuerySvr.downLoadExtendFormTemplate(request,response); + } + + /** + * 瀵煎叆绉戠洰鎵╁睍琛ㄨ缃� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param file 鏂囦欢 + * @return {@link Result<Object>} + */ + @Override + @ApiOperation("2.瀵煎叆绉戠洰鎵╁睍琛ㄨ缃�") + public Result<Object> importExtendForm(HttpServletRequest request, HttpServletResponse response, MultipartFile file) { + extendFromManageSvr.importExtendForm(request,response,file); + return ok(ResponseCode.SUCCESS); + } + + /** + * 瀵煎嚭绉戠洰鎵╁睍琛ㄨ缃� + * + * @param request 璇锋眰 + * @param response 鍝嶅簲 + * @param qry qry + */ + @Override + @ApiOperation("2.瀵煎嚭绉戠洰鎵╁睍琛ㄨ缃�") + public void exportExtendForm(HttpServletRequest request, HttpServletResponse response, ExtendFormManageQry qry) { + baseConfigQuerySvr.exportExtendForm(request,response,qry); + } + + @ApiOperation("2.鏍规嵁鎵╁睍琛ㄨ幏鍙栨墍鏈夌浉鍏崇殑淇℃伅") @Override public Result<ExtendFormManageOut> queryExtendFormByTable(@RequestParam("extendName") String extendName) { -- GitLab