From fadd75018c5cce0586e761b875ac6bb268033f73 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 24 四月 2024 16:44:14 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 120 insertions(+), 38 deletions(-) diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java index 1734a45..37b6adb 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java @@ -1,40 +1,41 @@ package com.ruoyi.project.service.impl; -import java.io.File; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.annotation.NotRepeatCommit; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.ChineseUtils; import com.ruoyi.common.utils.HttpClientKit; +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.*; -import com.ruoyi.project.service.IServiceFundSharedService; -import com.ruoyi.project.service.IServiceFunddetailService; -import com.ruoyi.project.service.IServiceFunddetailSharedService; +import com.ruoyi.project.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; +import org.apache.ibatis.annotations.Param; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFColor; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; 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 com.ruoyi.common.utils.StringUtils; -import com.ruoyi.project.service.IServiceFundService; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** * 璐圭敤鐢宠涓籗ervice涓氬姟灞傚鐞� @@ -71,6 +72,12 @@ @Autowired private IServiceFunddetailService serviceFunddetailService; + + @Autowired + private VExpertfeeExpertMapper vExpertfeeExpertMapper; + + @Autowired + private VExpertfeeTotalMapper vExpertfeeTotalMapper; /** @@ -179,7 +186,16 @@ serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); serviceFunddetailShareds.get(i).setId(null); //鏁版嵁鍙戦�佺粰璐㈠姟 - uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i)); + try { + uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i)); + } catch (Exception e) { + log.error("Exception涓叆鍙傜殑ID涓猴細{}", id); + if (id != null) { + Boolean aBoolean = sharedService.delfundsharedInfoById(null, id); + log.error("fund2鍒嗕韩琛ㄩ噷鐨勬暟鎹槸鍚﹀垹闄ゆ垚鍔燂細{}", aBoolean); + } + return false; + } } boolean result = false; for (ServiceFunddetailShared serviceFunddetailShared : serviceFunddetailShareds) { @@ -906,8 +922,35 @@ } } + @Override + public Map<String, Object> exportFeeSum(Integer faxId) { + List<VExpertfeeTotal> list = vExpertfeeTotalMapper.selectVExpertfeeTotalListByTaxId(faxId); + ExcelUtil<VExpertfeeTotal> util = new ExcelUtil<VExpertfeeTotal>(VExpertfeeTotal.class); + AjaxResult ajaxResult = util.exportExcel(list, "vExpertfeeTotal"); + String filePath = RuoYiConfig.getDownloadPath() + ajaxResult.get("msg"); - int uploadOAFileAndUpdateDb(ServiceFunddetailShared remShare) { + List<VExpertfeeExpert> list2 = vExpertfeeExpertMapper.selectVExpertfeeExpertListByFaxId(faxId); + ExcelUtil<VExpertfeeExpert> util2 = new ExcelUtil<VExpertfeeExpert>(VExpertfeeExpert.class); + AjaxResult ajaxResult1 = util2.exportExcel(list2, "vExpertfeeExpert"); + + List<String> list1 = new ArrayList<>(); + list1.add(ajaxResult.get("msg").toString()); + list1.add(ajaxResult1.get("msg").toString()); + + + String name = "涓撳璐规眹鎬诲崟" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xlsx"; + mergeExcel(list1, RuoYiConfig.getDownloadPath() + name); + for (String path : list1) { + new File(RuoYiConfig.getDownloadPath() + path).delete(); + } + Map<String, Object> map = new HashMap<>(); + map.put("downloadUrl", "/profile/download/" + name); + map.put("downloadName", name); + return map; + } + + + int uploadOAFileAndUpdateDb(ServiceFunddetailShared remShare) throws Exception { //涓婁紶OA鏂囦欢 //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3"; String strUrl = "http://129.88.242.39:8899/seeyon/rest/token"; @@ -947,7 +990,7 @@ } - private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceFunddetailShared remShare, String flag) { + private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceFunddetailShared remShare, String flag) throws Exception { if (!CollectionUtils.isEmpty(parseArray)) { for (int i = 0; i < parseArray.size(); i++) { RbDetailFile rbDetailFile = parseArray.get(i); @@ -959,24 +1002,21 @@ System.out.println("fund鏈嶅姟鐨刦ilePath + substring: " + filePath + substring); File filetest = new File(filePath + substring); - try { - String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); - log.info("绗笁鏂逛紶鍥炵殑鏁版嵁: {}", struploadResult); - if (StringUtils.isEmpty(struploadResult)) { - log.error("HttpClientKit.sendPostWithFile 璇锋眰涓虹┖浜� filetest:{}, strFUrl:{} ", filetest, strFUrl); - return 0; - } - //鑾峰彇fileid - JSONObject jsonR = JSONObject.parseObject(struploadResult); - JSONArray jsonArr = jsonR.getJSONArray("atts"); - log.info("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", jsonArr); - for (int j = 0; j < jsonArr.size(); j++) { - JSONObject jsonRet = jsonArr.getJSONObject(j); - rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); - } - } catch (Exception e) { - e.printStackTrace(); + String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); + log.info("绗笁鏂逛紶鍥炵殑鏁版嵁: {}", struploadResult); + if (StringUtils.isEmpty(struploadResult)) { + log.error("HttpClientKit.sendPostWithFile 璇锋眰涓虹┖浜� filetest:{}, strFUrl:{} ", filetest, strFUrl); + return 0; } + //鑾峰彇fileid + JSONObject jsonR = JSONObject.parseObject(struploadResult); + JSONArray jsonArr = jsonR.getJSONArray("atts"); + log.info("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", jsonArr); + for (int j = 0; j < jsonArr.size(); j++) { + JSONObject jsonRet = jsonArr.getJSONObject(j); + rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); + } + parseArray2.add(rbDetailFile); } if (flag.equals("1")) { @@ -1097,4 +1137,46 @@ return id; } + public void mergeExcel(List<String> files, String outputFile) { + try { + Workbook resultWorkbook = new XSSFWorkbook(); + for (String file : files) { + InputStream is1 = new FileInputStream(RuoYiConfig.getDownloadPath() + file); + Workbook workbook1 = new XSSFWorkbook(is1); + Sheet sheet1 = workbook1.getSheetAt(0); + // 澶嶅埗绗竴涓枃浠剁殑Sheet + Sheet newSheet1 = resultWorkbook.createSheet(file.substring(0, file.indexOf("."))); + for (Row row : sheet1) { + Row newRow = newSheet1.createRow(row.getRowNum()); + int columns = row.getLastCellNum(); + for (int i = 0; i < columns; i++) { + newSheet1.setColumnWidth(i, 5000); + Cell cell = row.getCell(i); + Cell newCell = newRow.createCell(cell.getColumnIndex()); + newCell.setCellValue(cell.getStringCellValue()); + // 鍒涘缓鍗曞厓鏍兼牱寮� + CellStyle style = resultWorkbook.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); // 姘村钩灞呬腑 + style.setVerticalAlignment(VerticalAlignment.CENTER); // 鍨傜洿灞呬腑 + if (row.getRowNum() == 0) { + // 璁剧疆绗竴琛岃儗鏅壊 + style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + } + + newCell.setCellStyle(style); + } + } + } + FileOutputStream out = new FileOutputStream(outputFile); + resultWorkbook.write(out); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Transactional(rollbackFor = Exception.class) + public Boolean updateFundTaxIdById(Long id, Long fundTaxId) { + return serviceFundMapper.updateFundTaxIdById(id, fundTaxId); + } } -- Gitblit v1.9.3