From c8707150e15be1425a096e40d44f043e9ecce5a2 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 10 八月 2023 12:51:09 +0800 Subject: [PATCH] 修改上传文件名,医学成本的文件展示 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 655 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 375 insertions(+), 280 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 b824cd3..19f6304 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") @@ -138,7 +141,12 @@ //startPage(); List<SpFinancialExpensesFundOut> list = serviceFundService.getListBypower(loginUser.getUsername(), 2, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); - //return getDataTable(list); + Collections.sort(list, new Comparator<SpFinancialExpensesFundOut>() { + @Override + public int compare(SpFinancialExpensesFundOut o1, SpFinancialExpensesFundOut o2) { + return o2.getCreateTime().compareTo(o1.getCreateTime()); + } + }); return getCustomDataTable(list, pageNum, pageSize); } @@ -155,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)); - } /** * 瀵煎嚭璐圭敤鐢宠涓诲垪琛� @@ -201,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)); } + /** * 瀹℃牳璐圭敤 @@ -445,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; @@ -453,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) { @@ -485,10 +486,15 @@ FlowLevel = FlowLevel + 1; } else { CheckFlag = 2; - RecordStatus = (FlowLevel + 1) * 2 - 1; - FlowLevel = (FlowLevel - 1); - if (FlowLevel < 0) { + if (CheckFlag == 2) { + //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� FlowLevel = 0; + } else { + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; + } } } @@ -524,37 +530,39 @@ 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()); +// 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); +// logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}", serviceFunddetails); +// 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); } @@ -572,19 +580,43 @@ /** - * 淇敼璐圭敤鐢宠涓� + * 淇敼璐圭敤鐢宠 */ - @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() == 100 || sf.getBackflowlevel() == 199) { + ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); + serviceFundShared.setId(null); + serviceFundShared.setDel_flag(0); + fundSharedService.save(serviceFundShared); + + //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100 + sf.setBackflowlevel(100); + serviceFundService.updateById(sf); + return success(); + } else { + serviceFund.setFlowlevel(sf.getBackflowlevel()); + boolean bret = serviceFundService.updateById(serviceFund); + log.info("serviceFundService.updateById杩斿弬:{}", bret); +// if (bret) { +// addReiSharedDatd(serviceFund, 2); +// } + return toAjax(bret); + } + } + + return toAjax(false); } /** @@ -614,7 +646,7 @@ Template t = null; try { //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉� - t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl"); + t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl"); } catch (IOException e) { e.printStackTrace(); } @@ -655,11 +687,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()); @@ -680,6 +713,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(); @@ -702,12 +736,73 @@ 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); + } -- Gitblit v1.9.3