From 381d3d2d0a4130e49e59d5d88396be3dfcc47629 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 18 八月 2023 17:37:52 +0800
Subject: [PATCH] 修改办公费用的下载内容
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 651 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 367 insertions(+), 284 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index 7489267..378b6e5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -1,7 +1,5 @@
package com.ruoyi.web.controller.project;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
@@ -13,7 +11,8 @@
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.HttpClientKit;
+import com.ruoyi.common.tax.TaxtUtils;
+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.*;
@@ -25,14 +24,17 @@
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.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.io.*;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert;
@@ -42,6 +44,7 @@
* @author ruoyi
* @date 2022-01-24
*/
+@Slf4j
@Api("璐圭敤鐢宠涓�")
@RestController
@RequestMapping("/project/fund")
@@ -160,15 +163,11 @@
return AjaxResult.success(serviceFundService.getFundId(infoid));
}
- @GetMapping("/addFundSharedInfo/{id}")
- public AjaxResult addFundSharedInfo(@PathVariable("id") Long id) {
- return AjaxResult.success(serviceFundService.addFundSharedInfo(id));
- }
+// @GetMapping("/addFundSharedInfo/{id}")
+// public AjaxResult addFundSharedInfo(@PathVariable("id") Long id) {
+// return AjaxResult.success(serviceFundService.addFundSharedInfo(id));
+// }
- @GetMapping("/getFundDetail/{id}")
- public AjaxResult getFundDetail(@PathVariable("id") Long id) {
- return AjaxResult.success(serviceFundService.getFundDetail(id));
- }
/**
* 瀵煎嚭璐圭敤鐢宠涓诲垪琛�
@@ -206,242 +205,236 @@
public AjaxResult add(@RequestBody ServiceFund serviceFund) {
boolean b = serviceFundService.save(serviceFund);
Long id = serviceFund.getId();
- if (b) {
- addReiSharedDatd(serviceFund, 1);
- }
+// if (b) {
+// addReiSharedDatd(serviceFund, 1);
+// }
return AjaxResult.success(id);
}
- public int addReiSharedDatd(ServiceFund serviceFund, int nType) {
- //remShare = ;
- ServiceFundShared remShare = null;
- if (nType == 1) {
- remShare = new ServiceFundShared();
- remShare.setSerfunid(serviceFund.getId());
- } else //modify
- {
- List<ServiceFundShared> remlist = fundServiceShare.getFundShareInfoById(serviceFund.getId());
- if (remlist != null) remShare = remlist.get(0);
- }
-
- remShare.setDonorno(serviceFund.getDonorno());
- remShare.setDonorname(serviceFund.getDonorname());
- remShare.setUserno(serviceFund.getUserno());
- remShare.setUsername(serviceFund.getUsername());
- remShare.setUnitname(serviceFund.getUnitname());
- remShare.setUnitno(serviceFund.getUnitno());
- remShare.setUnituserno(serviceFund.getUnituserno());
- remShare.setPhone(serviceFund.getPhone());
- remShare.setAnnexbankcard(serviceFund.getAnnexbankcard());
- remShare.setAnnexregistform(serviceFund.getAnnexregistform());
- Double nTemp = serviceFund.getPretaxcost();
- if (nTemp == null) nTemp = 0d;
- remShare.setPretaxcost(BigDecimal.valueOf(nTemp));
- //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
- // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
-
- nTemp = serviceFund.getTaxedcost();
- if (nTemp == null) nTemp = 0d;
- remShare.setTaxedcost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getTotalcost();
- if (nTemp == null) nTemp = 0d;
- remShare.setTotalcost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getExpertcost();
- if (nTemp == null) nTemp = 0.0;
- remShare.setExpertcost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getEthicscost();
- if (nTemp == null) nTemp = 0.0;
- remShare.setEthicscost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getMedicalcost();
- if (nTemp == null) nTemp = 0.0;
- remShare.setMedicalcost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getFamilycost();
- if (nTemp == null) nTemp = 0.0;
- remShare.setFamilycost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getAftercarecost();
- if (nTemp == null) nTemp = 0.0;
- remShare.setAftercarecost(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceFund.getAmountrequested();
- if (nTemp == null) nTemp = 0.0;
- remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
+// public int addReiSharedDatd(ServiceFund serviceFund, int nType) {
+// //remShare = ;
+// ServiceFundShared remShare = null;
+// if (nType == 1) {
+// remShare = new ServiceFundShared();
+// remShare.setSerfunid(serviceFund.getId());
+// } else //modify
+// {
+// List<ServiceFundShared> remlist = fundServiceShare.getFundShareInfoById(serviceFund.getId());
+// if (remlist != null) remShare = remlist.get(0);
+// }
+//
+// remShare.setDonorno(serviceFund.getDonorno());
+// remShare.setDonorname(serviceFund.getDonorname());
+// remShare.setUserno(serviceFund.getUserno());
+// remShare.setUsername(serviceFund.getUsername());
+// remShare.setUnitname(serviceFund.getUnitname());
+// remShare.setUnitno(serviceFund.getUnitno());
+// remShare.setUnituserno(serviceFund.getUnituserno());
+// remShare.setPhone(serviceFund.getPhone());
+// remShare.setAnnexbankcard(serviceFund.getAnnexbankcard());
+// remShare.setAnnexregistform(serviceFund.getAnnexregistform());
+// Double nTemp = serviceFund.getPretaxcost();
+// if (nTemp == null) nTemp = 0d;
+// remShare.setPretaxcost(BigDecimal.valueOf(nTemp));
+// //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
+// // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
+//
+// nTemp = serviceFund.getTaxedcost();
+// if (nTemp == null) nTemp = 0d;
+// remShare.setTaxedcost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getTotalcost();
+// if (nTemp == null) nTemp = 0d;
+// remShare.setTotalcost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getExpertcost();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setExpertcost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getEthicscost();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setEthicscost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getMedicalcost();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setMedicalcost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getFamilycost();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setFamilycost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getAftercarecost();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setAftercarecost(BigDecimal.valueOf(nTemp));
+//
+// nTemp = serviceFund.getAmountrequested();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
+//
+//
+// remShare.setApplytype(serviceFund.getApplytype());
+//
+// nTemp = serviceFund.getPrepaidamount();
+// if (nTemp == null) nTemp = 0.0;
+// remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
+//
+// remShare.setInvoicecount(serviceFund.getInvoicecount());
+// remShare.setAttachcount(serviceFund.getAttachcount());
+// remShare.setManagerno(serviceFund.getManagerno());
+// remShare.setManagername(serviceFund.getManagername());
+// remShare.setDeptmentno(serviceFund.getDeptmentno());
+// remShare.setDeptmentname(serviceFund.getDeptmentname());
+// remShare.setOpochecker(serviceFund.getOpochecker());
+// remShare.setFinvicepresident(serviceFund.getFinvicepresident());
+// remShare.setBusvicepresident(serviceFund.getBusvicepresident());
+// remShare.setOfficedirector(serviceFund.getOfficedirector());
+// remShare.setFinancedirector(serviceFund.getFinancedirector());
+// remShare.setFinancechecher(serviceFund.getFinancechecher());
+// //remShare.setIsdistribute(serviceFund.getIsdistribute());
+// remShare.setRecordstatus(serviceFund.getRecordstatus());
+// remShare.setUploadflag(serviceFund.getUploadflag());
+// remShare.setUploadtime(serviceFund.getUploadtime());
+// long nLevel = serviceFund.getFlowlevel();
+// remShare.setFlowlevel(nLevel);
+//
+// remShare.setInfoid(serviceFund.getInfoid());
+//
+// //remShare.setOaid(serviceReimbursement.getOaid());
+// //remShare.setDonorno(serviceReimbursement.getDonorno());
+//
+// boolean bRet = false;
+// if (nType == 1) {
+// bRet = fundServiceShare.save(remShare);
+// } else {
+// //remShare.setId(serviceReimbursement.);
+// bRet = fundServiceShare.updateById(remShare);
+// }
+//
+// //if(!bRet) return -1;
+// String strMutfileUrl = remShare.getAnnexbankcard();
+// //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
+// if (strMutfileUrl == null) return 0;
+// if (strMutfileUrl.isEmpty()) return 0;
+//
+// try {
+// uploadOAFileAndUpdateDb(remShare);
+// } catch (Exception e) {
+// logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!");
+// e.printStackTrace();
+// }
+//
+// //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲��
+//
+// return 0;
+// }
- remShare.setApplytype(serviceFund.getApplytype());
-
- nTemp = serviceFund.getPrepaidamount();
- if (nTemp == null) nTemp = 0.0;
- remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
-
- remShare.setInvoicecount(serviceFund.getInvoicecount());
- remShare.setAttachcount(serviceFund.getAttachcount());
- remShare.setManagerno(serviceFund.getManagerno());
- remShare.setManagername(serviceFund.getManagername());
- remShare.setDeptmentno(serviceFund.getDeptmentno());
- remShare.setDeptmentname(serviceFund.getDeptmentname());
- remShare.setOpochecker(serviceFund.getOpochecker());
- remShare.setFinvicepresident(serviceFund.getFinvicepresident());
- remShare.setBusvicepresident(serviceFund.getBusvicepresident());
- remShare.setOfficedirector(serviceFund.getOfficedirector());
- remShare.setFinancedirector(serviceFund.getFinancedirector());
- remShare.setFinancechecher(serviceFund.getFinancechecher());
- //remShare.setIsdistribute(serviceFund.getIsdistribute());
- remShare.setRecordstatus(serviceFund.getRecordstatus());
- remShare.setUploadflag(serviceFund.getUploadflag());
- remShare.setUploadtime(serviceFund.getUploadtime());
- long nLevel = serviceFund.getFlowlevel();
- remShare.setFlowlevel(nLevel);
-
- remShare.setInfoid(serviceFund.getInfoid());
-
- //remShare.setOaid(serviceReimbursement.getOaid());
- //remShare.setDonorno(serviceReimbursement.getDonorno());
-
- boolean bRet = false;
- if (nType == 1) {
- bRet = fundServiceShare.save(remShare);
- } else {
- //remShare.setId(serviceReimbursement.);
- bRet = fundServiceShare.updateById(remShare);
- }
-
- //if(!bRet) return -1;
- String strMutfileUrl = remShare.getAnnexbankcard();
- //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
- if (strMutfileUrl == null) return 0;
- if (strMutfileUrl.isEmpty()) return 0;
-
- try {
- uploadOAFileAndUpdateDb(remShare);
- } catch (Exception e) {
- logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!");
- e.printStackTrace();
- }
-
- //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲��
-
- return 0;
- }
-
-
- int uploadOAFileAndUpdateDb(ServiceFundShared remShare) {
- //涓婁紶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";
- //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token";
- //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴�
-
-
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("userName", "opo");
- map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
- map.put("loginName", "demo3");
-
- JSONObject jsonObj = new JSONObject(map);
-
- System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
- String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());//
- //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//寰楀埌杩斿洖鐨則oken?
-
- JSONObject json1 = JSONObject.parseObject(strRes);
- strRes = json1.get("id").toString();
-
- ///if(strRes.isEmpty() || "" == strRes) return -1;// 涓虹┖浠h〃澶辫触
-
- //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁
-
- String filePath = RuoYiConfig.getUploadPath();
- String strMutfileUrl = remShare.getAnnexbankcard();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
-
- String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes;
- //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes;
- //strFUrl = String.format(strFUrl, strRes);
-
- /*File test = null;
- File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17");
- if (file.exists() && file.isDirectory()) {
- // 鑾峰彇鎵�鏈夌洸鐩掓枃浠跺す
- File[] ones = file.listFiles();
- for (File one : ones) {
- test = one;
- }
- }*/
-
- String filename = "";
- String fileid = "";
-
- String[] urlArray = strMutfileUrl.split(",");
- for (int i = 0; i < urlArray.length; i++) {
- String strOneFileName = urlArray[i];
- String strTemp = strOneFileName.substring(15);
- String strFile = filePath + strTemp;
- //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName);
- String struploadResult = "";
- File filetest = new File(strFile);
- try {
- struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj);
- if (struploadResult == null) return 0;
- if (struploadResult.isEmpty()) return 0;
-
- JSONObject jsonR = JSONObject.parseObject(struploadResult);
-
- JSONArray jsonArr = jsonR.getJSONArray("atts");
- for (int j = 0; j < jsonArr.size(); j++) {
- JSONObject jsonRet = jsonArr.getJSONObject(j);
- String name1 = jsonRet.get("filename").toString();
- String id1 = jsonRet.get("fileUrl").toString();
- filename += name1;
- fileid += id1;
- if (i != urlArray.length - 1) {
- filename += ",";
- fileid += ",";
- }
- }
-
- }
-
- long nId = remShare.getId();
- remShare.setId(nId);
- remShare.setFilename(filename);
- remShare.setFileid(fileid);
- boolean bRet = fundServiceShare.updateById(remShare);
- if (!bRet) return -1;
-
- return 0;
- }
+// int uploadOAFileAndUpdateDb(ServiceFundShared remShare) {
+// //涓婁紶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";
+// //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token";
+// //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴�
+//
+//
+// Map<String, Object> map = new HashMap<String, Object>();
+// map.put("userName", "opo");
+// map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
+// map.put("loginName", "demo3");
+//
+// JSONObject jsonObj = new JSONObject(map);
+//
+// System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
+// String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());//
+// //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//寰楀埌杩斿洖鐨則oken?
+//
+// JSONObject json1 = JSONObject.parseObject(strRes);
+// strRes = json1.get("id").toString();
+//
+// ///if(strRes.isEmpty() || "" == strRes) return -1;// 涓虹┖浠h〃澶辫触
+//
+// //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁
+//
+// String filePath = RuoYiConfig.getUploadPath();
+// String strMutfileUrl = remShare.getAnnexbankcard();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
+//
+// String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes;
+// //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes;
+// //strFUrl = String.format(strFUrl, strRes);
+//
+// /*File test = null;
+// File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17");
+// if (file.exists() && file.isDirectory()) {
+// // 鑾峰彇鎵�鏈夌洸鐩掓枃浠跺す
+// File[] ones = file.listFiles();
+// for (File one : ones) {
+// test = one;
+// }
+// }*/
+//
+// String filename = "";
+// String fileid = "";
+//
+// String[] urlArray = strMutfileUrl.split(",");
+// for (int i = 0; i < urlArray.length; i++) {
+// String strOneFileName = urlArray[i];
+// String strTemp = strOneFileName.substring(15);
+// String strFile = filePath + strTemp;
+// //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName);
+// String struploadResult = "";
+// File filetest = new File(strFile);
+// try {
+// struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+//
+//
+// //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj);
+// if (struploadResult == null) return 0;
+// if (struploadResult.isEmpty()) return 0;
+//
+// JSONObject jsonR = JSONObject.parseObject(struploadResult);
+//
+// JSONArray jsonArr = jsonR.getJSONArray("atts");
+// for (int j = 0; j < jsonArr.size(); j++) {
+// JSONObject jsonRet = jsonArr.getJSONObject(j);
+// String name1 = jsonRet.get("filename").toString();
+// String id1 = jsonRet.get("fileUrl").toString();
+// filename += name1;
+// fileid += id1;
+// if (i != urlArray.length - 1) {
+// filename += ",";
+// fileid += ",";
+// }
+// }
+//
+// }
+//
+// long nId = remShare.getId();
+// remShare.setId(nId);
+// remShare.setFilename(filename);
+// remShare.setFileid(fileid);
+// boolean bRet = fundServiceShare.updateById(remShare);
+// if (!bRet) return -1;
+//
+// return 0;
+// }
/**
* 鏂板璐圭敤姹囨��
*/
@ApiOperation("鏂板璐圭敤姹囨��")
@Log(title = "鏂板璐圭敤姹囨��", businessType = BusinessType.INSERT)
- @PostMapping("/addnew")
+ @PostMapping("/addOrUpdateNew")
@RepeatSubmit
@Options(useGeneratedKeys = true, keyProperty = "id")
- public AjaxResult addnew(@RequestBody ServiceFundVO serviceFundVO) {
- boolean b = serviceFundService.save(serviceFundVO);
- Long id = serviceFundVO.getId();
- if (b) {
- addReiSharedDatd(serviceFundVO, 1);
- }
- List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
- serviceFunddetails.forEach(item -> item.setFundid(id));
- serviceFunddetailService.saveBatch(serviceFunddetails);
- return AjaxResult.success(id);
+ public AjaxResult addOrUpdateNew(@RequestBody ServiceFundVO serviceFundVO) {
+
+ return AjaxResult.success(serviceFundService.addOrUpdateNew(serviceFundVO));
}
+
/**
* 瀹℃牳璐圭敤
@@ -450,6 +443,7 @@
@Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER)
@PostMapping("/checkfund")
public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
+ logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}", checkFundVO);
ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid());
if (serviceFund != null) {
Integer TotalLevel = 0;
@@ -458,6 +452,8 @@
serviceFundflowrule.setFundtype(2);
serviceFundflowrule.setApplytype(serviceFund.getApplytype());
serviceFundflowrule.setCheckuserno(loginUser.getUsername());
+ logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}", serviceFundflowrule);
+
List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) {
@@ -488,17 +484,26 @@
}
}
FlowLevel = FlowLevel + 1;
+ //璁板綍涓�涓嬶紝涓嬩竴绾х殑瀹℃壒锛屼互渚夸簬涓嬩竴绾ч��鍥炲悗锛屽彂璧疯�呮彁浜ゆ椂锛岃兘鍐嶆彁鍒板綋鍓嶅鎵瑰眰绾�
+ serviceFund.setBackflowlevel(FlowLevel);
} else {
CheckFlag = 2;
- RecordStatus = (FlowLevel + 1) * 2 - 1;
- FlowLevel = (FlowLevel - 1);
- if (FlowLevel < 0) {
+ if (CheckFlag == 2) {
+ //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯��
FlowLevel = 0;
+ RecordStatus = -1;
+ } else {
+ RecordStatus = (FlowLevel + 1) * 2 - 1;
+ FlowLevel = (FlowLevel - 1);
+ if (FlowLevel < 0) {
+ FlowLevel = 0;
+ }
}
}
serviceFund.setRecordstatus(RecordStatus);
serviceFund.setFlowlevel(FlowLevel);
+ // serviceFund.setBackflowlevel(serviceFund.getFlowlevel());
ServiceFundflow serviceFundflow = new ServiceFundflow();
SysUser user = loginUser.getUser();
@@ -529,38 +534,7 @@
serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceFund.getDonorname() + "銆戠殑璐圭敤鐢宠宸查�氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
if (TotalLevel == OriginalFlowLevel + 1) {
- ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
- serviceFundShared.setId(null);
- serviceFundShared.setSerfunid(serviceFund.getId());
- serviceFundShared.setAmountrequested(new BigDecimal(serviceFund.getAmountrequested()));
- serviceFundShared.setPrepaidamount(new BigDecimal(serviceFund.getPrepaidamount()));
- serviceFundShared.setTotalcost(new BigDecimal(serviceFund.getTotalcost()));
- serviceFundShared.setProcurementcost(new BigDecimal(serviceFund.getProcurementcost()));
- serviceFundShared.setExpertcost(new BigDecimal(serviceFund.getExpertcost()));
- serviceFundShared.setEthicscost(new BigDecimal(serviceFund.getEthicscost()));
- serviceFundShared.setMedicalcost(new BigDecimal(serviceFund.getMedicalcost()));
- serviceFundShared.setFamilycost(new BigDecimal(serviceFund.getFamilycost()));
- serviceFundShared.setAftercarecost(new BigDecimal(serviceFund.getAftercarecost()));
- fundSharedService.save(serviceFundShared);
-
- Map<String, Object> columnMap = new HashMap<>();
- columnMap.put("fundID", checkFundVO.getFundid());
- //鑾峰彇璇︽儏鏁版嵁
- List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap);
- List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class);
- for (int i = 0; i < serviceFunddetails.size(); i++) {
- serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId());
- serviceFunddetailShareds.get(i).setFdid(serviceFunddetails.get(i).getId());
- serviceFunddetailShareds.get(i).setAmount(new BigDecimal(serviceFunddetails.get(i).getAmount()));
- serviceFunddetailShareds.get(i).setPrepaidamount(new BigDecimal(serviceFunddetails.get(i).getPrepaidamount()));
- serviceFunddetailShareds.get(i).setTaxamount(new BigDecimal(serviceFunddetails.get(i).getTaxamount()));
- serviceFunddetailShareds.get(i).setTaxedamount(new BigDecimal(serviceFunddetails.get(i).getTaxedamount()));
- serviceFunddetailShareds.get(i).setQuantity(new BigDecimal(serviceFunddetails.get(i).getQuantity()));
- serviceFunddetailShareds.get(i).setPrice(new BigDecimal(serviceFunddetails.get(i).getPrice()));
- serviceFunddetailShareds.get(i).setId(null);
- }
- funddetailSharedService.saveBatch(serviceFunddetailShareds);
-
+ serviceFundService.addFundSharedInfo(checkFundVO.getFundid());
}
} else {
@@ -577,19 +551,40 @@
/**
- * 淇敼璐圭敤鐢宠涓�
+ * 淇敼璐圭敤鐢宠
*/
- @ApiOperation("淇敼璐圭敤鐢宠涓�")
- //@PreAuthorize("@ss.hasPermi('project:fund:edit')")
+ @ApiOperation("淇敼璐圭敤鐢宠")
@Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.UPDATE)
- @PutMapping
+ @PostMapping("/fundEdit")
@RepeatSubmit
- public AjaxResult edit(@RequestBody ServiceFund serviceFund) {
- boolean bret = serviceFundService.updateById(serviceFund);
- if (bret) {
- addReiSharedDatd(serviceFund, 2);
+ public AjaxResult fundEdit(@RequestBody ServiceFund serviceFund) {
+ log.info("淇敼璐圭敤鐢宠鍏ュ弬:{}", serviceFund);
+ List<ServiceFund> infoByInfoIdList = serviceFundService.queryInfoById(serviceFund);
+ log.info("淇敼璐圭敤鐢宠锛岄�氳繃鍏ュ弬鏌ヨ serviceFundService.queryInfoById鏁版嵁涓虹┖,鍏ュ弬:{}", infoByInfoIdList.size());
+ if (CollectionUtils.isEmpty(infoByInfoIdList)) {
+ return toAjax(false);
}
- return toAjax(bret);
+ for (ServiceFund sf : infoByInfoIdList) {
+ //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
+ if (sf.getBackflowlevel() == 199) {
+ //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100
+ sf.setBackflowlevel(100);
+ serviceFundService.updateById(sf);
+
+ //寰�鍒嗕韩琛ㄩ噷鏂板
+ serviceFundService.addFundSharedInfo(serviceFund.getId());
+
+ return success();
+ } else {
+ serviceFund.setFlowlevel(sf.getBackflowlevel());
+ boolean bret = serviceFundService.updateById(serviceFund);
+ log.info("serviceFundService.updateById杩斿弬:{}", bret);
+
+ return toAjax(bret);
+ }
+ }
+
+ return toAjax(false);
}
/**
@@ -619,7 +614,7 @@
Template t = null;
try {
//鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
- t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl");
+ t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl");
} catch (IOException e) {
e.printStackTrace();
}
@@ -660,11 +655,12 @@
dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount());
dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername());
- dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+// dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+ dataMap.put("FYXM1", "浜轰綋鍣ㄥ畼鎹愮尞涓撳鍔冲姟璐�:" + serviceFund.getPretaxcost() + "鍏� (鍏朵腑绋庡悗璐圭敤鐢变腑蹇冩壙鎷呯◣璐�)銆�");
dataMap.put("FYXM2", "");
dataMap.put("FYXM3", "");
- dataMap.put("JEXS", serviceFund.getAmountrequested());
- dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�");
+ dataMap.put("JEXS", serviceFund.getPretaxcost());
+ dataMap.put("JEDS", convert(serviceFund.getPretaxcost()) + "鏁�");
dataMap.put("BXBZ", serviceFund.getRemark() == null ? "" : serviceFund.getRemark());
@@ -685,6 +681,7 @@
for (ServiceFunddetail f : fd) {
Map<String, Object> map = new HashMap<String, Object>();
+
map.put("XH", f.getItemcode() == null ? "" : f.getItemcode());
String itemName = f.getItemname() == null ? "" : f.getItemname();
@@ -707,11 +704,72 @@
newsList.add(map);
}
+ // 涓撳鍔冲姟璐圭粺璁¤〃
+ List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>();
+
+ List<Double> sqljList = new ArrayList<>();
+ List<Double> ksljList = new ArrayList<>();
+ List<Double> shljList = new ArrayList<>();
+
+ //鏍规嵁鈥濈鐩被鍨嬪悕绉扳�滐紝鏉ヨ绠楃◣鍓嶆�诲拰锛岀◣閲戞�诲拰,绋庡悗鎬诲拰
+ Map<String, ServiceFunddetailAssort> funddetailMap = new HashMap<>();
+ for (ServiceFunddetail serviceFunddetail : fd) {
+ boolean b = funddetailMap.containsKey(serviceFunddetail.getSubjecttypename());
+ if (b == true) {
+ ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+ serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+ serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+ serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+ } else {
+ funddetailMap.put(serviceFunddetail.getSubjecttypename(), new ServiceFunddetailAssort());
+ ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+ serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+ serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+ serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+ }
+ }
+
+ funddetailMap.forEach((FWFL, serviceFunddetailAssort) -> {
+ Map<String, Object> map1 = new HashMap<String, Object>();
+ map1.put("FWFL", FWFL);
+ map1.put("SQXJ", serviceFunddetailAssort.getSQXJ());
+ map1.put("KSXJ", serviceFunddetailAssort.getKSXJ());
+ map1.put("SHXJ", serviceFunddetailAssort.getSHXJ());
+ sqljList.add(serviceFunddetailAssort.getSQXJ());
+ ksljList.add(serviceFunddetailAssort.getKSXJ());
+ shljList.add(serviceFunddetailAssort.getSHXJ());
+ lists.add(map1);
+ });
+
+ double sqxj = 0;
+ double kslj = 0;
+ double shlj = 0;
+ for (Double sqx : sqljList) {
+ sqxj += sqx;
+ }
+ for (Double ksl : ksljList) {
+ kslj += ksl;
+ }
+ for (Double shl : shljList) {
+ shlj += shl;
+ }
+
+ //鏁版嵁灏佽
dataMap.put("list", newsList);
+ for (int i = 0; i < lists.size(); i++) {
+ Map<String, Object> map = lists.get(i);
+ map.put("XH", i + 1);
+ }
+
+ dataMap.put("item", lists);
dataMap.put("SQHJ", sq);
dataMap.put("KSHJ", ks);
dataMap.put("SHHJ", sh);
+
+ dataMap.put("SQLJ", sqxj);
+ dataMap.put("KSLJ", kslj);
+ dataMap.put("SHLJ", shlj);
}
@@ -915,12 +973,14 @@
Template t = null;
try {
//鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
- t = configuration.getTemplate("鍖诲鎴愭湰璐圭敤鐢宠鍗�.ftl");
+// t = configuration.getTemplate("鍖诲鎴愭湰璐圭敤鐢宠鍗�.ftl");
+ t = configuration.getTemplate("鍔炲叕璐圭敤鐢宠鍗�.ftl");
} catch (IOException e) {
e.printStackTrace();
}
String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
- String name = "鍖诲鎴愭湰璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime;
+// String name = "鍖诲鎴愭湰璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime;
+ String name = "鍔炲叕璐圭敤鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime;
//杈撳嚭鏂囨。璺緞鍙婂悕绉�
File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
@@ -965,6 +1025,8 @@
dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? " " : serviceFund.getAttachcount());
dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername());
+ dataMap.put("YWZ", serviceFund.getDeptmentname() == null ? "" : serviceFund.getDeptmentname());
+ dataMap.put("ZHUZANG", serviceFund.getManagername() == null ? "" : serviceFund.getManagername());
for (ServiceFunddetail f : fd) {
seqno++;
@@ -981,11 +1043,21 @@
map.put("FYXM", fyxm);
newList.add(map);
}
+ //鍚堝苟鍗曞厓鏍�
+ checkList(newList);
dataMap.put("items", newList);
- dataMap.put("JEXS", serviceFund.getAmountrequested());
- dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�");
+ dataMap.put("JEXS", serviceFund.getPretaxcost());
+ dataMap.put("JEDS", convert(serviceFund.getPretaxcost()) + "鏁�");
+// dataMap.put("JEXS", serviceFund.getAmountrequested());
+// dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�");
dataMap.put("BXBZ", serviceFund.getRemark() == null ? "" : serviceFund.getRemark());
+ dataMap.put("YZ", serviceFund.getPresident() == null ? "" : serviceFund.getPresident());
+ dataMap.put("CWFYZ", serviceFund.getFinvicepresident() == null ? "" : serviceFund.getFinvicepresident());
+ dataMap.put("YWFYZ", serviceFund.getBusvicepresident() == null ? "" : serviceFund.getBusvicepresident());
+ dataMap.put("BGSZR", serviceFund.getOfficedirector() == null ? "" : serviceFund.getOfficedirector());
+ dataMap.put("CWBZR", serviceFund.getFinancedirector() == null ? "" : serviceFund.getFinancedirector());
+ dataMap.put("CWSH", serviceFund.getFinancechecher() == null ? "" : serviceFund.getFinancechecher());
dataMap.put("YYMMDD", time);
dataMap.put("XM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
@@ -1018,6 +1090,17 @@
}
+ public List<Map<String, Object>> checkList(List<Map<String, Object>> list) {
+ String start = "<w:vMerge w:val='restart'/>";
+ String end = "<w:vMerge/>";
+ list.get(0).put("start", start);
+ for (int i = 1; i < list.size(); i++) {
+ list.get(i).put("end", end);
+ }
+ return list;
+
+ }
+
/**
* 涓嬭浇璐圭敤鎶ラ攢鍗�
*/
--
Gitblit v1.9.3