From c2e58f7e1554cb23cb63877517b072942735bfdf Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 01 三月 2024 19:26:51 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 4 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java | 10 ruoyi-common/src/main/java/com/ruoyi/common/utils/MergeFilesToPDFUtils.java | 107 +++++++++ ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessorganMapper.xml | 4 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java | 1 ruoyi-admin/src/main/resources/application.yml | 21 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java | 12 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java | 11 + ruoyi-common/pom.xml | 30 ++ ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java | 81 +++--- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java | 144 +++++++++++++ ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java | 131 +++++++++-- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 1 ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java | 2 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/CheckFundVO.java | 3 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java | 30 +- ruoyi-project/src/main/java/com/ruoyi/project/domain/PdfMegerVO.java | 29 ++ ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java | 5 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java | 1 ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml | 3 20 files changed, 524 insertions(+), 106 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java new file mode 100644 index 0000000..12e3c92 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/PdfMergeController.java @@ -0,0 +1,144 @@ +package com.ruoyi.web.controller.project; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.annotation.NotRepeatCommit; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.MergeFilesToPDFUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.DtoConversionUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.project.domain.*; +import com.ruoyi.project.domain.vo.*; +import com.ruoyi.project.mapper.ServiceFunddetailMapper; +import com.ruoyi.project.service.*; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysPostService; +import freemarker.template.Configuration; +import freemarker.template.Template; +import freemarker.template.TemplateException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Options; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert; + +/** + * PDF鍚堝苟 + * + * @author ruoyi + * @date 2022-01-24 + */ +@Slf4j +@Api("PDF鍚堝苟") +@RestController +@RequestMapping("/project/pdfmerge") +public class PdfMergeController extends BaseController { + @Autowired + private IServiceDonateannexService serviceDonateannexService; + + @Autowired + private MergeFilesToPDFUtils mergeFilesToPDFUtils; + + @Autowired + private IBaseOnlyvalueService baseOnlyvalueService; + + @Autowired + private IServiceDonatebaseinfoService donatebaseinfoService; + + /** + * 鍥剧墖銆乸df銆佹枃妗e悎骞舵垚pdf + */ + @ApiOperation("鍥剧墖銆乸df銆佹枃妗e悎骞舵垚pdf") + @GetMapping("/merge") + public void merge(@RequestParam("infoId") Long infoId, HttpServletResponse response) { + log.info("merge鐨勫叆鍙備负杈咃細{}", infoId); + ServiceDonateannex serviceDonateannex = new ServiceDonateannex(); + serviceDonateannex.setInfoid(infoId); + List<ServiceDonateannex> serviceDonateannexes = serviceDonateannexService.queryList(serviceDonateannex); + if (!CollectionUtils.isEmpty(serviceDonateannexes)) { + log.info("serviceDonateannexes鏌ヨ鐨勬暟鎹负锛歿}", serviceDonateannexes.size()); + //鏍规嵁Annexfilestype杩涜鎺掑簭 + Collections.sort(serviceDonateannexes, Comparator.comparingInt(ServiceDonateannex::getAnnexfilestype)); + //鑾峰彇鏂囦欢瀛樻斁鐨勪綅缃紙閰嶇疆鏂囦欢閲岀殑Profile鍦板潃锛� + String localPath = RuoYiConfig.getProfile(); + //鐢ㄤ簬杞垚涓�缁存暟缁� + List<String> list = new ArrayList<>(); + //鐢ㄤ簬璁板綍璇ヤ复鏃秔df鏂囦欢鏄惁鍒犻櫎 + List<MegerIsRemove> megerIsRemoveList = new ArrayList<>(); + for (ServiceDonateannex serviceDonateannex1 : serviceDonateannexes) { + String path = serviceDonateannex1.getAnnexurl().replace("/profile", localPath); + String suffix = path.substring(path.lastIndexOf(".")); + Boolean aBoolean = false; + if (suffix.equals(".jpg") || suffix.equals(".JPG") || suffix.equals(".PNG") || suffix.equals(".png") || suffix.equals(".JPEG") || suffix.equals(".jpeg")) { + //鍥剧墖澶勭悊 + try { + aBoolean = mergeFilesToPDFUtils.addImageToPdf(path, getNewFileNameWithExtension(path, ".pdf")); + } catch (IOException e) { + e.printStackTrace(); + } + } else if (suffix.equals(".pdf") || suffix.equals(".PDF")) { + //pdf鏂囦欢澶勭悊 + String pdf = getNewFileNameWithExtension(path, ".pdf"); + list.add(pdf); + megerIsRemoveList.add(new MegerIsRemove(false, pdf)); + } else if (suffix.equals(".doc") || suffix.equals(".DOC") || suffix.equals(".docx") || suffix.equals(".DOCX")) { + //word鏂囦欢澶勭悊 + aBoolean = mergeFilesToPDFUtils.wordtoPdf(path, getNewFileNameWithExtension(path, ".pdf")); + } + if (aBoolean) { + //灏嗗浘鐗囧拰word鏂囦欢鐨勪复鏃舵枃浠讹紝瀛樺埌闆嗗悎涓紝浠ヤ究鍚庨潰鍒犻櫎 + String pdf = getNewFileNameWithExtension(path, ".pdf"); + list.add(pdf); + megerIsRemoveList.add(new MegerIsRemove(true, pdf)); + } + } + //鑾峰彇鍚堝苟鍚嶇О + ServiceDonatebaseinfo donatebaseinfo = donatebaseinfoService.getById(serviceDonateannexes.get(0).getInfoid()); + + String fileName = donatebaseinfo.getDonorno() + donatebaseinfo.getName() + ".pdf"; + String[] str = list.toArray(new String[0]); + //鏂囦欢鍚堝苟 + mergeFilesToPDFUtils.mergePDF(str, fileName, response); + //鍒犻櫎涓存椂鏂囦欢 + for (MegerIsRemove megerIsRemove : megerIsRemoveList) { + if (megerIsRemove.getIsdel()) { + new File(megerIsRemove.getPath()).delete(); + } + } + } + } + + private static String getNewFileNameWithExtension(String fileName, String extension) { + int dotIndex = fileName.lastIndexOf('.'); + return dotIndex != -1 ? fileName.substring(0, dotIndex) + extension : fileName; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java index fc55bec..f2ca5ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatebaseinfoController.java @@ -127,19 +127,19 @@ log.info("鏂板娼滃湪鎹愮尞淇℃伅锛歿}", serviceDonatebaseinfo); SysUser user = SecurityUtils.getLoginUser().getUser(); - String bh = ""; - bh = serviceDonatebaseinfoService.getDonateNumber(serviceDonatebaseinfo); - if (bh == "") { - return AjaxResult.error("鏂板鏃剁敓鎴愮殑缂栧彿涓虹┖,鍒涘缓澶辫触!"); - } else { - ServiceDonatebaseinfo serviceDonatebaseinfo1 = new ServiceDonatebaseinfo(); - serviceDonatebaseinfo1.setDonorno(bh); - List<ServiceDonatebaseinfo> listrecord = serviceDonatebaseinfoService.queryList(serviceDonatebaseinfo1); - if (listrecord.size() > 0) { - return AjaxResult.error("鏂板鏃剁敓鎴愮殑缂栧彿" + bh + "宸插瓨鍦�,鏃犳硶淇濆瓨!"); - } - - } +// String bh = ""; +// bh = serviceDonatebaseinfoService.getDonateNumber(serviceDonatebaseinfo); +// if (bh == "") { +// return AjaxResult.error("鏂板鏃剁敓鎴愮殑缂栧彿涓虹┖,鍒涘缓澶辫触!"); +// } else { +// ServiceDonatebaseinfo serviceDonatebaseinfo1 = new ServiceDonatebaseinfo(); +// serviceDonatebaseinfo1.setDonorno(bh); +// List<ServiceDonatebaseinfo> listrecord = serviceDonatebaseinfoService.queryList(serviceDonatebaseinfo1); +// if (listrecord.size() > 0) { +// return AjaxResult.error("鏂板鏃剁敓鎴愮殑缂栧彿" + bh + "宸插瓨鍦�,鏃犳硶淇濆瓨!"); +// } +// +// } String idcardno = serviceDonatebaseinfo.getIdcardno(); ServiceDonatebaseinfo serviceDonatebaseinfo2 = new ServiceDonatebaseinfo(); serviceDonatebaseinfo2.setIdcardno(idcardno); @@ -148,7 +148,7 @@ return AjaxResult.error("鏂板鏃惰韩浠借瘉" + idcardno + "宸插瓨鍦�,鏃犳硶淇濆瓨!"); } - serviceDonatebaseinfo.setDonorno(bh); + // serviceDonatebaseinfo.setDonorno(bh); serviceDonatebaseinfo.setDeptid(user.getDeptId()); serviceDonatebaseinfo.setDeptname(sysDeptMapper.getDeptNameByDeptId(user.getDeptId())); serviceDonatebaseinfoService.save(serviceDonatebaseinfo); @@ -244,7 +244,7 @@ } Map<String, Object> map = new HashMap<>(); map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); - map.put("downloadName", name + ".doc"); + map.put("downloadName", name + ".doc"); return map; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java index 0c1532c..bb29157 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java @@ -9,6 +9,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.OrganEnum; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.ServiceDonatecompletioninfo; import com.ruoyi.project.domain.ServiceDonateorgan; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java index 706b61d..a0ae668 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java @@ -40,7 +40,7 @@ * 鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃 */ @ApiOperation("鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')") @GetMapping("/list") public TableDataInfo list(ServiceDonatecomporgan serviceDonatecomporgan) { startPage(); @@ -52,7 +52,7 @@ * 瀵煎嚭鎹愮尞鍣ㄥ畼绉绘鍒楄〃 */ @ApiOperation("瀵煎嚭鎹愮尞鍣ㄥ畼绉绘鍒楄〃") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')") @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(ServiceDonatecomporgan serviceDonatecomporgan) { @@ -65,7 +65,7 @@ * 鑾峰彇鎹愮尞鍣ㄥ畼绉绘璇︾粏淇℃伅 */ @ApiOperation("鑾峰彇鎹愮尞鍣ㄥ畼绉绘璇︾粏淇℃伅") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return AjaxResult.success(serviceDonatecomporganService.getById(id)); @@ -75,7 +75,7 @@ * 鏂板鎹愮尞鍣ㄥ畼绉绘 */ @ApiOperation("鏂板鎹愮尞鍣ㄥ畼绉绘") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')") @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit @@ -88,7 +88,7 @@ * 淇敼鎹愮尞鍣ㄥ畼绉绘 */ @ApiOperation("淇敼鎹愮尞鍣ㄥ畼绉绘") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')") @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.UPDATE) @PostMapping("/edit") @RepeatSubmit @@ -100,7 +100,7 @@ * 鍒犻櫎鎹愮尞鍣ㄥ畼绉绘 */ @ApiOperation("鍒犻櫎鎹愮尞鍣ㄥ畼绉绘") - @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')") + // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')") @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java index f69cdb2..63a95a0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java @@ -9,6 +9,8 @@ import com.ruoyi.common.enums.OrganEnum; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.DtoConversionUtils; +import com.ruoyi.project.domain.ServiceDonatebaseinfo; import com.ruoyi.project.domain.ServiceDonateorgan; import com.ruoyi.project.domain.vo.DonationWitnessVO; import com.ruoyi.project.domain.vo.TimeVO; @@ -128,6 +130,15 @@ @RepeatSubmit public AjaxResult add(@RequestBody ServiceDonationwitness serviceDonationwitness) { boolean save = serviceDonationwitnessService.save(serviceDonationwitness); + if (save) { + //鐢熸垚鈥滄崘鐚�呯紪鍙封�� + ServiceDonatebaseinfo serviceDonatebaseinfo = serviceDonatebaseinfoService.getById(serviceDonationwitness.getInfoid()); + log.info("serviceDonatebaseinfo鐨勪俊鎭负{}", serviceDonatebaseinfo); + String donorno = serviceDonatebaseinfoService.getDonateNumber(serviceDonatebaseinfo); + log.info("鐢熸垚鐨勬崘鐚�呯紪鍙蜂负:{}", donorno); + serviceDonatebaseinfo.setDonorno(donorno); + serviceDonatebaseinfoService.updateById(serviceDonatebaseinfo); + } return AjaxResult.success(serviceDonationwitness); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java index 13c3ed3..bbad96d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java @@ -1,21 +1,17 @@ package com.ruoyi.web.controller.project; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.annotation.NotRepeatCommit; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.MergeFilesToPDFUtils; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.dto.ServiceReimbursementDto; diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 8f8fce1..2ab7106 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -15,6 +15,8 @@ # profile: /home/smartor/uploadFile # 鍖婚櫌鐜 profile: E:/OPO/WEB/Upload + # 褰掓。璺緞 + archived: E:/OPO/WEB/archived/ # 鑾峰彇ip鍦板潃寮�鍏� addressEnabled: false # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉 @@ -70,15 +72,15 @@ enabled: ALWAYS # redis 閰嶇疆 redis: - # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細鍖婚櫌鐜 - host: 129.88.242.37 - password: jqserver - port: 6379 + # # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細鍖婚櫌鐜 + # host: 129.88.242.37 + # password: jqserver + # port: 6379 -# # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細寮�鍙戠幆澧� -# host: 116.62.18.175 -# password: Smartor -# port: 6020 + # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細寮�鍙戠幆澧� + host: 116.62.18.175 + password: Smartor + port: 6020 # 鏁版嵁搴撶储寮� database: 0 @@ -100,7 +102,7 @@ # 浠ょ墝鑷畾涔夋爣璇� header: Authorization # 浠ょ墝瀵嗛挜 - secret: abcdefghijklmnopqrstuvwxyz + secret: lihuabcdefghijklmnopqrstuvwxyz # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛� expireTime: 3000 @@ -146,6 +148,7 @@ # 鍖归厤閾炬帴 urlPatterns: /system/*,/monitor/*,/tool/* + #閽夐拤鐨勫瘑閽� dingAppid: dingn8iip5ubj7clrrsv dingAppSecret: qlEK8D3oOVwGPOTiBQIBYTqQVlAfy9S_qQizEQFjJdSScwemWFryg4gbneu-NqWD diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index de8dcca..9331061 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -52,7 +52,7 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> - + <!-- JSON宸ュ叿绫� --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -170,6 +170,34 @@ <artifactId>jodconverter-local-lo</artifactId> <version>4.4.6</version> </dependency> + + <dependency> + <groupId>e-iceblue</groupId> + <artifactId>spire.doc.free</artifactId> + <version>5.2.0</version> + </dependency> + <dependency> + <groupId>e-iceblue</groupId> + <artifactId>spire.xls</artifactId> + <version>14.2.4</version> + </dependency> + <dependency> + <groupId>e-iceblue</groupId> + <artifactId>spire.pdf</artifactId> + <version>9.5.6</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>itextpdf</artifactId> + <version>5.5.13</version> <!-- 浣跨敤5.x鐗堟湰 --> + </dependency> </dependencies> + + <repositories> + <repository> + <id>com.e-iceblue</id> + <url>https://repo.e-iceblue.cn/repository/maven-public/</url> + </repository> + </repositories> </project> \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/MergeFilesToPDFUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MergeFilesToPDFUtils.java new file mode 100644 index 0000000..f79b0e2 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/MergeFilesToPDFUtils.java @@ -0,0 +1,107 @@ +package com.ruoyi.common.utils; + +import com.itextpdf.text.Image; +import com.itextpdf.text.pdf.PdfWriter; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.file.FileUtils; +import com.spire.doc.Document; +import com.spire.doc.FileFormat; +import com.spire.pdf.PdfDocument; +import com.spire.pdf.PdfDocumentBase; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; + +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +@Configuration +public class MergeFilesToPDFUtils { + + @Value("${ruoyi.archived}") + private String archived; + + /** + * 灏嗗浘鐗囧悎鎴恜df + */ + public Boolean addImageToPdf(String imagePath, String pdfPath) throws IOException { + com.itextpdf.text.Document document = new com.itextpdf.text.Document(); + try { + PdfWriter.getInstance(document, new FileOutputStream(pdfPath)); + document.open(); + // 鑾峰彇鍥惧儚鐨勫搴﹀拰楂樺害 + BufferedImage image = ImageIO.read(new File(imagePath)); + float imageWidth = image.getWidth(); + float imageHeight = image.getHeight(); + + // 鑾峰彇椤甸潰鐨勫搴﹀拰楂樺害 + float pageWidth = document.getPageSize().getWidth(); + float pageHeight = document.getPageSize().getHeight(); + + // 璁$畻璋冩暣姣斾緥锛岀‘淇濆浘鍍忛�傚簲椤甸潰 + float widthRatio = pageWidth / imageWidth; + float heightRatio = pageHeight / imageHeight; + float ratio = Math.min(widthRatio, heightRatio); + + // 璁$畻璋冩暣鍚庣殑鍥惧儚澶у皬 + float adjustedWidth = imageWidth * ratio - 50; + float adjustedHeight = imageHeight * ratio - 50; + + // 鍒涘缓鍥惧儚瀵硅薄 + Image pdfImage = Image.getInstance(imagePath); + pdfImage.scaleAbsolute(adjustedWidth, adjustedHeight); + + // 娣诲姞鍥惧儚鍒版枃妗� + document.add(pdfImage); + } catch (Exception e) { + e.printStackTrace(); + } finally { + document.close(); + } + return true; + } + + + /** + * WORD杞琍DF + * + * @param inputPath + * @param outputPath + */ + public Boolean wordtoPdf(String inputPath, String outputPath) { + Document doc = new Document(); + //鍔犺浇Word + doc.loadFromFile(inputPath); + //淇濆瓨涓篜DF鏍煎紡 + doc.saveToFile(outputPath, FileFormat.PDF); + return true; + } + + /** + * pdf鍚堝苟 + */ + public Boolean mergePDF(String[] pdfFiles, String fileName, HttpServletResponse response) { + try { + + + PdfDocumentBase pdf = PdfDocument.mergeFiles(pdfFiles); + //Save the result to a PDF file + + pdf.save(archived + fileName, com.spire.pdf.FileFormat.PDF); + String filePath = archived + fileName; + + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.setAttachmentResponseHeader(response, fileName); + FileUtils.writeBytes(filePath, response.getOutputStream()); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + +} diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/PdfMegerVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/PdfMegerVO.java new file mode 100644 index 0000000..e36aa20 --- /dev/null +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/PdfMegerVO.java @@ -0,0 +1,29 @@ +package com.ruoyi.project.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐圭敤鐢宠涓诲璞� service_fund + * + * @author ruoyi + * @date 2022-01-24 + */ +@Data +@ApiModel("璐圭敤鐢宠涓�") +public class PdfMegerVO extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("id") + private Long id; + + /** + * 妯″潡 :宸梾 1 璐圭敤 2 + */ + @ApiModelProperty("妯″潡 :宸梾 1 璐圭敤 2") + private Integer type; +} + diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java index db861ed..c601050 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecomporgan.java @@ -1,6 +1,7 @@ package com.ruoyi.project.domain; import java.util.Date; + import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -12,162 +13,228 @@ /** * 鎹愮尞鍣ㄥ畼绉绘瀵硅薄 service_donatecomporgan - * + * * @author ruoyi * @date 2023-12-25 */ @Data @ApiModel("鎹愮尞鍣ㄥ畼绉绘") -public class ServiceDonatecomporgan extends BaseEntity -{ +public class ServiceDonatecomporgan extends BaseEntity { private static final long serialVersionUID = 1L; - /** $column.columnComment */ + /** + * $column.columnComment + */ @ApiModelProperty("$column.columnComment") //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO) private Long id; - /** 鍏宠仈service_donatebaseinfo琛ㄧ殑ID */ + /** + * 鍏宠仈service_donatebaseinfo琛ㄧ殑ID + */ @ApiModelProperty("鍏宠仈service_donatebaseinfo琛ㄧ殑ID") @Excel(name = "鍏宠仈service_donatebaseinfo琛ㄧ殑ID") private Long infoid; - /** 鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ */ + /** + * 鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ + */ @ApiModelProperty("鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ") @Excel(name = "鍣ㄥ畼绫诲埆 璇﹁瀛楀吀sys_Organ") private String organno; - /** 鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ */ + /** + * 鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ + */ @ApiModelProperty("鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ") @Excel(name = "鍣ㄥ畼绫诲埆鍚嶇О 璇﹁瀛楀吀sys_Organ") private String organname; - /** 鍣ㄥ畼绉绘鐘舵�� 锛�0锛氭湭绉绘锛�1锛氬凡绉绘锛�2锛氬純鐢� */ + /** + * 鍣ㄥ畼绉绘鐘舵�� 锛�0锛氭湭绉绘锛�1锛氬凡绉绘锛�2锛氬純鐢� + */ @ApiModelProperty("鍣ㄥ畼绉绘鐘舵�� 锛�0锛氭湭绉绘锛�1锛氬凡绉绘锛�2锛氬純鐢�") @Excel(name = "鍣ㄥ畼绉绘鐘舵�� 锛�0锛氭湭绉绘锛�1锛氬凡绉绘锛�2锛氬純鐢�") private Long transplantstate; - /** 鏈Щ妞嶅師鍥� */ + /** + * 鏈Щ妞嶅師鍥� + */ @ApiModelProperty("鏈Щ妞嶅師鍥�") @Excel(name = "鏈Щ妞嶅師鍥�") private String abandonreason; - /** 绉绘鏃堕棿 */ + /** + * 绉绘鏃堕棿 + */ @ApiModelProperty("绉绘鏃堕棿") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "绉绘鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date transplanttime; - /** 绉绘鍖荤敓 */ + /** + * 绉绘鍖荤敓 + */ @ApiModelProperty("绉绘鍖荤敓") @Excel(name = "绉绘鍖荤敓") private String transplantdoct; - /** 鍣ㄥ畼绉绘鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛� */ + /** + * 鍣ㄥ畼绉绘鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛� + */ @ApiModelProperty("鍣ㄥ畼绉绘鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�") @Excel(name = "鍣ㄥ畼绉绘鏈烘瀯缂栧彿 瀵瑰簲鏈烘瀯琛�") private String transplanthospitalno; - /** 鍣ㄥ畼绉绘鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛� */ + /** + * 鍣ㄥ畼绉绘鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛� + */ @ApiModelProperty("鍣ㄥ畼绉绘鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�") @Excel(name = "鍣ㄥ畼绉绘鏈烘瀯鍚嶇О 瀵瑰簲鏈烘瀯琛�") private String transplanthospitalname; - /** 绉绘浜哄鍚� */ + /** + * 绉绘浜哄鍚� + */ @ApiModelProperty("绉绘浜哄鍚�") @Excel(name = "绉绘浜哄鍚�") private String name; - /** 绉绘浜烘�у埆 鏍规嵁瀛楀吀sys_user_sex */ + /** + * 绉绘浜烘�у埆 鏍规嵁瀛楀吀sys_user_sex + */ @ApiModelProperty("绉绘浜烘�у埆 鏍规嵁瀛楀吀sys_user_sex") @Excel(name = "绉绘浜烘�у埆 鏍规嵁瀛楀吀sys_user_sex") private Long sex; - /** 绉绘浜鸿瘉浠剁被鍨� 鏍规嵁瀛楀吀sys_IDType */ + /** + * 绉绘浜鸿瘉浠剁被鍨� 鏍规嵁瀛楀吀sys_IDType + */ @ApiModelProperty("绉绘浜鸿瘉浠剁被鍨� 鏍规嵁瀛楀吀sys_IDType") @Excel(name = "绉绘浜鸿瘉浠剁被鍨� 鏍规嵁瀛楀吀sys_IDType") private Long idcardtype; - /** 绉绘浜鸿瘉浠跺彿鐮� */ + /** + * 绉绘浜鸿瘉浠跺彿鐮� + */ @ApiModelProperty("绉绘浜鸿瘉浠跺彿鐮�") @Excel(name = "绉绘浜鸿瘉浠跺彿鐮�") private String idcardno; - /** 绉绘浜哄勾榫� */ + /** + * 绉绘浜哄勾榫� + */ @ApiModelProperty("绉绘浜哄勾榫�") @Excel(name = "绉绘浜哄勾榫�") private Long age; - /** 绉绘浜哄勾榫勫崟浣� 鏍规嵁瀛楀吀sys_AgeUnit */ + /** + * 绉绘浜哄勾榫勫崟浣� 鏍规嵁瀛楀吀sys_AgeUnit + */ @ApiModelProperty("绉绘浜哄勾榫勫崟浣� 鏍规嵁瀛楀吀sys_AgeUnit") @Excel(name = "绉绘浜哄勾榫勫崟浣� 鏍规嵁瀛楀吀sys_AgeUnit") private String ageunit; - /** 绉绘浜哄嚭鐢熸棩鏈� */ + /** + * 绉绘浜哄嚭鐢熸棩鏈� + */ @ApiModelProperty("绉绘浜哄嚭鐢熸棩鏈�") @Excel(name = "绉绘浜哄嚭鐢熸棩鏈�") private String birthday; - /** 绉绘浜鸿仈绯荤數璇� */ + /** + * 绉绘浜鸿仈绯荤數璇� + */ @ApiModelProperty("绉绘浜鸿仈绯荤數璇�") @Excel(name = "绉绘浜鸿仈绯荤數璇�") private String phone; - /** 绉绘浜虹幇浣忓湴鍧� */ + /** + * 绉绘浜虹幇浣忓湴鍧� + */ @ApiModelProperty("绉绘浜虹幇浣忓湴鍧�") @Excel(name = "绉绘浜虹幇浣忓湴鍧�") private String residenceaddress; - /** 绉绘浜虹幇浣忓湴鍧�鐪佷唬鐮� */ + /** + * 绉绘浜虹幇浣忓湴鍧�鐪佷唬鐮� + */ @ApiModelProperty("绉绘浜虹幇浣忓湴鍧�鐪佷唬鐮�") @Excel(name = "绉绘浜虹幇浣忓湴鍧�鐪佷唬鐮�") private String residenceprovince; - /** 绉绘浜虹幇浣忓湴鍧�鐪佸悕绉� */ + /** + * 绉绘浜虹幇浣忓湴鍧�鐪佸悕绉� + */ @ApiModelProperty("绉绘浜虹幇浣忓湴鍧�鐪佸悕绉�") @Excel(name = "绉绘浜虹幇浣忓湴鍧�鐪佸悕绉�") private String residenceprovincename; - /** 绉绘浜哄競缂栧彿 鏍规嵁琛屾斂鍖哄垝琛� */ + /** + * 绉绘浜哄競缂栧彿 鏍规嵁琛屾斂鍖哄垝琛� + */ @ApiModelProperty("绉绘浜哄競缂栧彿 鏍规嵁琛屾斂鍖哄垝琛�") @Excel(name = "绉绘浜哄競缂栧彿 鏍规嵁琛屾斂鍖哄垝琛�") private String residencecity; - /** 绉绘浜哄競鍚嶇О */ + /** + * 绉绘浜哄競鍚嶇О + */ @ApiModelProperty("绉绘浜哄競鍚嶇О") @Excel(name = "绉绘浜哄競鍚嶇О") private String residencecityname; - /** 绉绘浜烘墍灞炶閬擄紙闀囷級鏍规嵁琛屾斂鍖哄垝琛� */ + /** + * 绉绘浜烘墍灞炶閬擄紙闀囷級鏍规嵁琛屾斂鍖哄垝琛� + */ @ApiModelProperty("绉绘浜烘墍灞炶閬擄紙闀囷級鏍规嵁琛屾斂鍖哄垝琛�") @Excel(name = "绉绘浜烘墍灞炶閬�", readConverterExp = "闀�=") private String residencetown; - /** 绉绘浜烘墍灞炶閬擄紙闀囷級鍚嶇О */ + /** + * 绉绘浜烘墍灞炶閬擄紙闀囷級鍚嶇О + */ @ApiModelProperty("绉绘浜烘墍灞炶閬擄紙闀囷級鍚嶇О") @Excel(name = "绉绘浜烘墍灞炶閬�", readConverterExp = "闀�=") private String residencetownname; - /** 绉绘浜虹ぞ鍖猴紙鏉戯級缂栧彿 鏍规嵁琛屾斂鍖哄垝琛� */ + /** + * 绉绘浜虹ぞ鍖猴紙鏉戯級缂栧彿 鏍规嵁琛屾斂鍖哄垝琛� + */ @ApiModelProperty("绉绘浜虹ぞ鍖猴紙鏉戯級缂栧彿 鏍规嵁琛屾斂鍖哄垝琛�") @Excel(name = "绉绘浜虹ぞ鍖�", readConverterExp = "鏉�=") private String residencecommunity; - /** 绉绘浜虹ぞ鍖猴紙鏉戯級鍚嶇О */ + /** + * 绉绘浜虹ぞ鍖猴紙鏉戯級鍚嶇О + */ @ApiModelProperty("绉绘浜虹ぞ鍖猴紙鏉戯級鍚嶇О") @Excel(name = "绉绘浜虹ぞ鍖�", readConverterExp = "鏉�=") private String residencecommunityname; - /** 绉绘浜烘墍灞炲尯鍩熺紪鍙� 鏍规嵁琛屾斂鍖哄垝琛� */ + /** + * 绉绘浜烘墍灞炲尯鍩熺紪鍙� 鏍规嵁琛屾斂鍖哄垝琛� + */ @ApiModelProperty("绉绘浜烘墍灞炲尯鍩熺紪鍙� 鏍规嵁琛屾斂鍖哄垝琛�") @Excel(name = "绉绘浜烘墍灞炲尯鍩熺紪鍙� 鏍规嵁琛屾斂鍖哄垝琛�") private String residencecountycode; - /** 绉绘浜烘墍灞炲尯鍩熷悕绉� */ + /** + * 绉绘浜烘墍灞炲尯鍩熷悕绉� + */ @ApiModelProperty("绉绘浜烘墍灞炲尯鍩熷悕绉�") @Excel(name = "绉绘浜烘墍灞炲尯鍩熷悕绉�") private String residencecountyname; + + /** + * 绉绘浜烘墍灞炲尯鍩熷悕绉� + */ + @ApiModelProperty("绉绘浜烘墍灞炲尯鍩熷悕绉�") + @Excel(name = "绉绘浜烘墍灞炲尯鍩熷悕绉�") + private String caseno; + + } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java index ea15913..27a7947 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitnessorgan.java @@ -114,5 +114,15 @@ @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1") private String isdgf; + /** 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1 */ + @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1") + @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1") + private String name; + + /** 鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1 */ + @ApiModelProperty("鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1") + @Excel(name = "鍔熻兘寤惰繜鎬ф仮澶嶏紝鍙傝sys_0_1") + private String caseno; + } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java index bbac545..2ca2cbb 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java @@ -364,7 +364,7 @@ private Date applyTime; @ApiModelProperty("鏁版嵁鏄惁杩涘叆shared琛� 0锛氬惁 1锛氭槸") - private Integer uploadStates = 0; + private Integer uploadStates; /** * 鏉ョ敤璁板綍鎻掑叆鍒嗕韩琛ㄥけ璐� diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/CheckFundVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/CheckFundVO.java index 84cecbb..519c41d 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/CheckFundVO.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/CheckFundVO.java @@ -47,4 +47,7 @@ @Excel(name = "娴佺▼缁撹 1锛氶�氳繃锛�2锛氶┏鍥烇紱") private Integer flowconclusion; + List<String> fileNames; + String outputFile; + } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java index 8faa482..5106455 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationCompletionVO.java @@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; +import com.ruoyi.project.domain.ServiceDonatecomporgan; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; @Data public class DonationCompletionVO { @@ -18,6 +20,7 @@ private String donationcategory; private String recordstate; private String name; + private String caseno; private String sex; private Long idcardtype; private String idcardno; @@ -88,4 +91,6 @@ @ApiModelProperty("缁堟妗堜緥锛�0寮�鍚紝1缁堟 榛樿鍊硷細0") private Integer terminationCase; + + private List<ServiceDonatecomporgan> serviceDonatecomporganList; } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java index 288b2df..0a14c28 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DonationWitnessVO.java @@ -12,6 +12,7 @@ private String donorno; private String donationcategory; private String name; + private String caseno; private String sex; private Long idcardtype; private String idcardno; diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java index a5136dc..bd8cba8 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java @@ -2,22 +2,27 @@ import java.util.List; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.project.domain.ServiceDonatebaseinfo; +import com.ruoyi.project.domain.ServiceDonateorgan; import com.ruoyi.project.domain.vo.DonationWitnessVO; import com.ruoyi.project.domain.vo.TimeVO; import com.ruoyi.project.domain.vo.WitnessStatsVO; import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper; +import com.ruoyi.project.mapper.ServiceDonateorganMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + import java.util.ArrayList; import java.util.Map; + import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.mapper.ServiceDonationwitnessMapper; import com.ruoyi.project.domain.ServiceDonationwitness; @@ -25,13 +30,12 @@ /** * 鎹愮尞瑙佽瘉Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2021-11-17 */ @Service -public class ServiceDonationwitnessServiceImpl extends ServiceImpl<ServiceDonationwitnessMapper, ServiceDonationwitness> implements IServiceDonationwitnessService -{ +public class ServiceDonationwitnessServiceImpl extends ServiceImpl<ServiceDonationwitnessMapper, ServiceDonationwitness> implements IServiceDonationwitnessService { @Autowired @@ -40,23 +44,26 @@ @Autowired ServiceDonatebaseinfoMapper serviceDonatebaseinfoMapper; + @Autowired + ServiceDonateorganServiceImpl serviceDonateorganService; + /** * 鏌ヨ鎹愮尞瑙佽瘉鍒楄〃 - * + * * @param serviceDonationwitness 鎹愮尞瑙佽瘉 * @return 鎹愮尞瑙佽瘉 */ @Override public List<ServiceDonationwitness> queryList(ServiceDonationwitness serviceDonationwitness) { LambdaQueryWrapper<ServiceDonationwitness> wrappers = Wrappers.lambdaQuery(); - if (StringUtils.isNotBlank(serviceDonationwitness.getDonorno())){ - wrappers.eq(ServiceDonationwitness::getDonorno ,serviceDonationwitness.getDonorno()); + if (StringUtils.isNotBlank(serviceDonationwitness.getDonorno())) { + wrappers.eq(ServiceDonationwitness::getDonorno, serviceDonationwitness.getDonorno()); } - if (StringUtils.isNotBlank(serviceDonationwitness.getGainhospitalname())){ - wrappers.like(ServiceDonationwitness::getGainhospitalname ,serviceDonationwitness.getGainhospitalname()); + if (StringUtils.isNotBlank(serviceDonationwitness.getGainhospitalname())) { + wrappers.like(ServiceDonationwitness::getGainhospitalname, serviceDonationwitness.getGainhospitalname()); } - if (StringUtils.isNotBlank(serviceDonationwitness.getOperationdoctor())){ - wrappers.eq(ServiceDonationwitness::getOperationdoctor ,serviceDonationwitness.getOperationdoctor()); + if (StringUtils.isNotBlank(serviceDonationwitness.getOperationdoctor())) { + wrappers.eq(ServiceDonationwitness::getOperationdoctor, serviceDonationwitness.getOperationdoctor()); } return this.list(wrappers); } @@ -65,18 +72,18 @@ public List<DonationWitnessVO> selectVOList(DonationWitnessVO donationWitnessVO) { SysUser user = SecurityUtils.getLoginUser().getUser(); - List <SysRole> l = user.getRoles(); + List<SysRole> l = user.getRoles(); Boolean b = false; - for(SysRole r : l){ - if(r.getRoleId().longValue() == 3){ + for (SysRole r : l) { + if (r.getRoleId().longValue() == 3) { b = true; } } - if(b){ + if (b) { donationWitnessVO.setBasecreateby(user.getUserName()); } - - return serviceDonationwitnessMapper.selectVOList(donationWitnessVO); + List<DonationWitnessVO> donationWitnessVOS = serviceDonationwitnessMapper.selectVOList(donationWitnessVO); + return donationWitnessVOS; } @Override @@ -111,63 +118,63 @@ int XONumber = 0; int XABNumber = 0; int DothersNumber = 0; - for(ServiceDonationwitness l : list){ + for (ServiceDonationwitness l : list) { ServiceDonatebaseinfo serviceDonatebaseinfo = serviceDonatebaseinfoMapper.getById(l.getInfoid()); - if(serviceDonatebaseinfo.getSex() != null && serviceDonatebaseinfo.getSex().equals("1")){ + if (serviceDonatebaseinfo.getSex() != null && serviceDonatebaseinfo.getSex().equals("1")) { manNumber++; } - if(serviceDonatebaseinfo.getSex() != null && serviceDonatebaseinfo.getSex().equals("2")){ + if (serviceDonatebaseinfo.getSex() != null && serviceDonatebaseinfo.getSex().equals("2")) { womanNumber++; } - if(serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("0")){ + if (serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("0")) { D0Number++; } - if(serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("1")){ + if (serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("1")) { D1Number++; } - if(serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("2")){ + if (serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("2")) { D2Number++; } - if(serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("3")){ + if (serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("3")) { D3Number++; } - if(serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("4")){ + if (serviceDonatebaseinfo.getDiseasetype() != null && serviceDonatebaseinfo.getDiseasetype().equals("4")) { D4Number++; } - if(l.getDonationcategory() != null && l.getDonationcategory().equals("DBD")){ + if (l.getDonationcategory() != null && l.getDonationcategory().equals("DBD")) { DBDNumber++; } - if(l.getDonationcategory() != null && l.getDonationcategory().equals("DCD")){ + if (l.getDonationcategory() != null && l.getDonationcategory().equals("DCD")) { DCDNumber++; } - if(l.getDonationcategory() != null && l.getDonationcategory().equals("DBCD")){ + if (l.getDonationcategory() != null && l.getDonationcategory().equals("DBCD")) { DBCDNumber++; } - if(serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 0 && serviceDonatebaseinfo.getAge() <= 17){ + if (serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 0 && serviceDonatebaseinfo.getAge() <= 17) { A1Number++; } - if(serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 18 && serviceDonatebaseinfo.getAge() <= 48){ + if (serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 18 && serviceDonatebaseinfo.getAge() <= 48) { A2Number++; } - if(serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 49 && serviceDonatebaseinfo.getAge() <= 69){ + if (serviceDonatebaseinfo.getAge() != null && serviceDonatebaseinfo.getAge() >= 49 && serviceDonatebaseinfo.getAge() <= 69) { A3Number++; } - if(serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("1")){ + if (serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("1")) { XANumber++; } - if(serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("2")){ + if (serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("2")) { XBNumber++; } - if(serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("3")){ + if (serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("3")) { XONumber++; } - if(serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("4")){ + if (serviceDonatebaseinfo.getBloodtype() != null && serviceDonatebaseinfo.getBloodtype().equals("4")) { XABNumber++; } } DothersNumber = total - D0Number - D1Number - D2Number - D3Number - D4Number; - if(total == 0){ + if (total == 0) { w.setManRate(0); w.setWomanRate(0); w.setD0Rate(0); @@ -187,9 +194,7 @@ w.setXORate(0); w.setXABRate(0); - } - - else{ + } else { w.setManRate((double) manNumber / (double) total); w.setWomanRate((double) womanNumber / (double) total); w.setD0Rate((double) D0Number / (double) total); diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml index 4f6387d..83c2ffa 100644 --- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml +++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonatecomporganMapper.xml @@ -39,6 +39,7 @@ <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> + <result property="caseno" column="caseno"/> </resultMap> <sql id="selectServiceDonatecomporganVo"> @@ -53,6 +54,7 @@ TransplantHospitalNo, TransplantHospitalName, Name, + caseno, Sex, IDCardType, IDCardNo, @@ -98,6 +100,7 @@ </if> <if test="name != null and name != ''">and Name like concat('%', #{name}, '%')</if> <if test="sex != null ">and Sex = #{sex}</if> + <if test="caseno != null ">and caseno = #{caseno}</if> <if test="idcardtype != null ">and IDCardType = #{idcardtype}</if> <if test="idcardno != null and idcardno != ''">and IDCardNo = #{idcardno}</if> <if test="age != null ">and Age = #{age}</if> diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessorganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessorganMapper.xml index 3e021ca..175dc8b 100644 --- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessorganMapper.xml +++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessorganMapper.xml @@ -27,6 +27,8 @@ <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> + <result property="name" column="name"/> + <result property="caseno" column="caseno"/> </resultMap> <sql id="selectServiceDonationwitnessorganVo"> @@ -52,6 +54,8 @@ create_by, create_time, update_by, + caseno, + name, update_time from service_donationwitnessorgan </sql> diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index 13ed330..eaae727 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -677,6 +677,7 @@ } catch (Exception e) { ServiceFund serviceFund2 = new ServiceFund(); serviceFund2.setId(serviceFund1.getId()); + serviceFund2.setUploadStates(1); serviceFund2.setNotes("鎻掑叆fund鍒嗕韩琛ㄥけ璐�"); serviceFundService.updateById(serviceFund2); } -- Gitblit v1.9.3