From 81f39b5a393000350b3d6e283bd3b1a4e98b42dc Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 10 五月 2023 14:01:11 +0800 Subject: [PATCH] 下载格式修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 639 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 350 insertions(+), 289 deletions(-) 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 b2726d0..8cf63f9 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 @@ -23,11 +23,13 @@ import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut; import com.ruoyi.project.service.*; import com.ruoyi.system.service.ISysPostService; +import com.ruoyi.web.controller.enums.PersonType; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang.StringUtils; import org.apache.ibatis.annotations.Options; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -37,22 +39,24 @@ import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; - +import java.util.stream.Collectors; /** * 鎶ラ攢鐢宠Controller - * + * * @author ruoyi * @date 2022-01-24 */ @Api("鎶ラ攢鐢宠") @RestController @RequestMapping("/project/reimbursement") -public class ServiceReimbursementController extends BaseController -{ +public class ServiceReimbursementController extends BaseController { @Autowired private IServiceReimbursementService serviceReimbursementService; + + @Autowired + private IServiceReimbursementpayeeService reimbursementpayeeService; @Autowired private IServiceReimbursementSharedService serviceReimbursementServiceShare; @@ -73,13 +77,15 @@ private IServiceSystemmessageService ServiceSystemmessage; private static Configuration configuration = null; + public ServiceReimbursementController() { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); } - static String cashUnitLeft[] = { "鍏�", "鎷�", "浣�", "浠�", "涓�", "鎷�", "浣�", "浠�","浜�", "鎷�", "浣�", "浠�", "涓�" }; - static String cashUnitRight[] = { "瑙�", "鍒�", "鍘�" }; - static String upperNumber[] = { "闆�", "澹�", "璐�", "鍙�", "鑲�", "浼�", "闄�", "鏌�","鎹�", "鐜�" }; + + static String cashUnitLeft[] = {"鍏�", "鎷�", "浣�", "浠�", "涓�", "鎷�", "浣�", "浠�", "浜�", "鎷�", "浣�", "浠�", "涓�"}; + static String cashUnitRight[] = {"瑙�", "鍒�", "鍘�"}; + static String upperNumber[] = {"闆�", "澹�", "璐�", "鍙�", "鑲�", "浼�", "闄�", "鏌�", "鎹�", "鐜�"}; /** * 鏌ヨ鎶ラ攢鐢宠鍒楄〃 @@ -88,8 +94,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursement:list')") @Log(title = "鏌ヨ鎶ラ攢鐢宠鍒楄〃", businessType = BusinessType.OTHER) @GetMapping("/list") - public TableDataInfo list(ServiceReimbursement serviceReimbursement) - { + public TableDataInfo list(ServiceReimbursement serviceReimbursement) { SysUser user = SecurityUtils.getLoginUser().getUser(); serviceReimbursement.setCreateBy(user.getUserName()); startPage(); @@ -102,8 +107,7 @@ */ @ApiOperation("鏍规嵁鏃ユ湡鏌ヨ鎶ラ攢鐢宠鍒楄〃") @GetMapping("/listWithDate") - public TableDataInfo listWithDate(ServiceReimbursementDto serviceReimbursementdto) - { + public TableDataInfo listWithDate(ServiceReimbursementDto serviceReimbursementdto) { startPage(); List<ServiceReimbursement> list = serviceReimbursementService.selectSearchList(serviceReimbursementdto); return getDataTable(list); @@ -115,45 +119,39 @@ @ApiOperation("鏍规嵁鏉冮檺鏄剧ず瀹℃牳鍒楄〃") @Log(title = "鏍规嵁鏉冮檺鏄剧ず瀹℃牳鍒楄〃", businessType = BusinessType.OTHER) @GetMapping("/listbypower") - public TableDataInfo getListBypower(SpFinancialExpensesIn spFinancialExpensesIn) - { + public TableDataInfo getListBypower(SpFinancialExpensesIn spFinancialExpensesIn) { LoginUser loginUser = getLoginUser(); - String APPLICANT=spFinancialExpensesIn.getAPPLICANT(); - String APPLICATIONBEGTIME=spFinancialExpensesIn.getAPPLICATIONBEGTIME(); - String APPLICATIONENDTIME=spFinancialExpensesIn.getAPPLICATIONENDTIME(); - Integer CHECKFLAG=spFinancialExpensesIn.getCHECKFLAG(); - Integer APPLYTYPE=spFinancialExpensesIn.getAPPLYTYPE(); - Integer pageNum=spFinancialExpensesIn.getPageNum(); - Integer pageSize=spFinancialExpensesIn.getPageSize(); + String APPLICANT = spFinancialExpensesIn.getAPPLICANT(); + String APPLICATIONBEGTIME = spFinancialExpensesIn.getAPPLICATIONBEGTIME(); + String APPLICATIONENDTIME = spFinancialExpensesIn.getAPPLICATIONENDTIME(); + Integer CHECKFLAG = spFinancialExpensesIn.getCHECKFLAG(); + Integer APPLYTYPE = spFinancialExpensesIn.getAPPLYTYPE(); + Integer pageNum = spFinancialExpensesIn.getPageNum(); + Integer pageSize = spFinancialExpensesIn.getPageSize(); - if(pageNum==null) - { - pageNum=1; + if (pageNum == null) { + pageNum = 1; } - if(pageSize==null) - { - pageSize=10; + if (pageSize == null) { + pageSize = 10; } - if(APPLICANT==null) - { - APPLICANT=""; + if (APPLICANT == null) { + APPLICANT = ""; } - if(APPLICATIONBEGTIME==null) - { - APPLICATIONBEGTIME=""; + if (APPLICATIONBEGTIME == null) { + APPLICATIONBEGTIME = ""; } - if(APPLICATIONENDTIME==null) - { - APPLICATIONENDTIME=""; + if (APPLICATIONENDTIME == null) { + APPLICATIONENDTIME = ""; } //startPage(); - List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(),1,APPLICANT,APPLICATIONBEGTIME,APPLICATIONENDTIME,loginUser.getDeptId().toString(),CHECKFLAG,APPLYTYPE); - return getCustomDataTable(list,pageNum,pageSize); + List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); + return getCustomDataTable(list, pageNum, pageSize); } /** @@ -163,8 +161,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursement:export')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.EXPORT) @GetMapping("/export") - public AjaxResult export(ServiceReimbursement serviceReimbursement) - { + public AjaxResult export(ServiceReimbursement serviceReimbursement) { List<ServiceReimbursement> list = serviceReimbursementService.queryList(serviceReimbursement); ExcelUtil<ServiceReimbursement> util = new ExcelUtil<ServiceReimbursement>(ServiceReimbursement.class); return util.exportExcel(list, "鎶ラ攢鐢宠鏁版嵁"); @@ -176,19 +173,30 @@ @ApiOperation("鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅") //@PreAuthorize("@ss.hasPermi('project:reimbursement:query')") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { + public AjaxResult getInfo(@PathVariable("id") Long id) { return AjaxResult.success(serviceReimbursementService.getById(id)); } @GetMapping("/getMaxId") - public AjaxResult getMaxId(){ + public AjaxResult getMaxId() { return AjaxResult.success(serviceReimbursementService.getMaxId()); } @GetMapping("/getRBDetailList/{id}") - public AjaxResult getRBDetailList(@PathVariable("id") Long id){ + public AjaxResult getRBDetailList(@PathVariable("id") Long id) { return AjaxResult.success(serviceReimbursementService.getRBDetailList(id)); + } + + /** + * 寰�service_reimbursement_share,寰�service_reimbursementdetail_share,寰�service_reimbursementpyee_share鏂板澶囦唤鏁版嵁 + * + * @param id + * @return + */ + @GetMapping("/addShareData/{id}") + public AjaxResult addSharedData(@PathVariable("id") Long id) { + + return AjaxResult.success(serviceReimbursementService.addSharedData(id)); } /** @@ -200,32 +208,26 @@ @PostMapping @RepeatSubmit @Options(useGeneratedKeys = true, keyProperty = "id") - public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) - { + public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) { boolean b = serviceReimbursementService.save(serviceReimbursement); - if(b) - { - addReiSharedDatd(serviceReimbursement,1); - } +// if (b) { +// addReiSharedDatd(serviceReimbursement, 1); +// } Long id = serviceReimbursement.getId(); return AjaxResult.success(id); } - public int addReiSharedDatd(ServiceReimbursement serviceReimbursement,int nType) - { + public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) { //remShare = ; ServiceReimbursementShared remShare = null; - if(nType == 1) - { + if (nType == 1) { remShare = new ServiceReimbursementShared(); remShare.setReimid(serviceReimbursement.getId()); - } - else //modify + } else //modify { List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId()); - if(remlist!=null) - remShare =remlist.get(0); + if (remlist != null) remShare = remlist.get(0); } remShare.setUserno(serviceReimbursement.getUserno()); @@ -240,14 +242,14 @@ remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard()); remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); - // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested())); + // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested())); Double nTemp = serviceReimbursement.getAmountrequested(); - if( nTemp == null) nTemp = 0d; + if (nTemp == null) nTemp = 0d; remShare.setAmountrequested(BigDecimal.valueOf(nTemp)); nTemp = serviceReimbursement.getPrepaidamount(); - if(nTemp == null) nTemp = 0.0; + if (nTemp == null) nTemp = 0.0; remShare.setPrepaidamount(BigDecimal.valueOf(nTemp)); remShare.setInvoicecount(serviceReimbursement.getInvoicecount()); @@ -272,7 +274,7 @@ remShare.setUploadtime(serviceReimbursement.getUploadtime()); nTemp = serviceReimbursement.getTotalamount(); - if(nTemp == null) nTemp = 0.0; + if (nTemp == null) nTemp = 0.0; remShare.setTotalamount(BigDecimal.valueOf(nTemp)); remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney()); @@ -283,22 +285,18 @@ remShare.setDonorbank(serviceReimbursement.getDonorbank()); remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard()); remShare.setDonorremark(serviceReimbursement.getDonorremark()); - remShare.setDonorpayee(serviceReimbursement.getDonorpayee()); - //nTemp = serviceReimbursement.getDonoramount(); - //if(nTemp == null) nTemp = 0.0; - remShare.setDonoramount(serviceReimbursement.getDonoramount()); + nTemp = serviceReimbursement.getDonoramount(); + if (nTemp == null) nTemp = 0.0; + remShare.setDonoramount(nTemp); remShare.setDonorrelatives(serviceReimbursement.getDonorrelatives()); //remShare.setOaid(serviceReimbursement.getOaid()); //remShare.setDonorno(serviceReimbursement.getDonorno()); boolean bRet = false; - if(nType==1) - { + if (nType == 1) { bRet = serviceReimbursementServiceShare.save(remShare); - } - else - { + } else { //remShare.setId(serviceReimbursement.); bRet = serviceReimbursementServiceShare.updateById(remShare); } @@ -306,43 +304,39 @@ //if(!bRet) return -1; String strMutfileUrl = remShare.getFileurl(); //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶 - if(strMutfileUrl == null) return 0; - if(strMutfileUrl.isEmpty()) return 0; + if (strMutfileUrl == null) return 0; + if (strMutfileUrl.isEmpty()) return 0; - try - { + try { uploadOAFileAndUpdateDb(remShare); - } - catch (Exception e) - { + } catch (Exception e) { logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!"); e.printStackTrace(); } //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲�� - return 0; + return 0; } - int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare) - { - //涓婁紶OA鏂囦欢 + int uploadOAFileAndUpdateDb(ServiceReimbursementShared 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"); + map.put("userName", "opo"); + map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5"); + map.put("loginName", "demo3"); - JSONObject jsonObj = new JSONObject(map); + JSONObject jsonObj = new JSONObject(map); - System.out.println("uploadOAFileAndUpdateDb + jsonObject"+jsonObj.toString() + "\r\n" + jsonObj.toJSONString()); - String strRes = HttpClientKit.postOpr(strUrl,jsonObj.toString());// + 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); @@ -352,10 +346,10 @@ //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁 - String filePath = RuoYiConfig.getUploadPath(); - String strMutfileUrl = remShare.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑 + String filePath = RuoYiConfig.getUploadPath(); + String strMutfileUrl = remShare.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑 - String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token="+strRes; + 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); @@ -373,20 +367,16 @@ String fileid = ""; String[] urlArray = strMutfileUrl.split(","); - for (int i = 0; i < urlArray.length; i++) - { + for (int i = 0; i < urlArray.length; i++) { String strOneFileName = urlArray[i]; String strTemp = strOneFileName.substring(15); - String strFile = filePath + strTemp ; + String strFile = filePath + strTemp; //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName); String struploadResult = ""; File filetest = new File(strFile); - try - { - struploadResult = HttpClientKit.sendPostWithFile(filetest,strFUrl); - } - catch (Exception e) - { + try { + struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); + } catch (Exception e) { e.printStackTrace(); } @@ -422,34 +412,32 @@ }*/ //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj); - if(struploadResult == null) return 0; - if(struploadResult.isEmpty()) return 0; + 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++) - { + for (int j = 0; j < jsonArr.size(); j++) { JSONObject jsonRet = jsonArr.getJSONObject(j); - String name1= jsonRet.get("filename").toString(); + String name1 = jsonRet.get("filename").toString(); String id1 = jsonRet.get("fileUrl").toString(); - filename+=name1; - fileid+=id1; - if(i!=urlArray.length-1) - { - filename+=","; - fileid+=","; + 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 = serviceReimbursementServiceShare.updateById(remShare); - if(!bRet) return -1; + long nId = remShare.getId(); + remShare.setId(nId); + remShare.setFilename(filename); + remShare.setFileid(fileid); + boolean bRet = serviceReimbursementServiceShare.updateById(remShare); + if (!bRet) return -1; return 0; } @@ -460,28 +448,23 @@ @ApiOperation("宸梾璐逛笂鎶�") @Log(title = "宸梾璐逛笂鎶�", businessType = BusinessType.OTHER) @PostMapping("/travelexpensereport") - public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) - { - ServiceReimbursement serviceReimbursement= serviceReimbursementService.getById(checkFundVO.getFundid()); - if(serviceReimbursement!=null) - { - Integer TotalLevel=0; + public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) { + ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); + if (serviceReimbursement != null) { + Integer TotalLevel = 0; LoginUser loginUser = getLoginUser(); SysUser user = loginUser.getUser(); - List<Integer> postids =postService.selectPostListByUserId(loginUser.getUserId()); + List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId()); - if(!postids.contains(2)) - { + if (!postids.contains(2)) { serviceReimbursement.setFlowlevel(1L); serviceReimbursement.setRecordstatus(2); - } - else - { + } else { serviceReimbursement.setFlowlevel(0L); serviceReimbursement.setRecordstatus(0); } - if(!postids.contains(2)) { + if (!postids.contains(2)) { ServiceFundflow serviceFundflow = new ServiceFundflow(); serviceFundflow.setFundid(serviceReimbursement.getId()); serviceFundflow.setCheckuserno(user.getUserName()); @@ -497,10 +480,8 @@ serviceReimbursementService.updateById(serviceReimbursement); return AjaxResult.success(); - } - else - { - return AjaxResult.error(HttpStatus.NO_CONTENT,"璐圭敤缂栧彿涓嶆纭�"); + } else { + return AjaxResult.error(HttpStatus.NO_CONTENT, "璐圭敤缂栧彿涓嶆纭�"); } } @@ -511,72 +492,57 @@ @ApiOperation("瀹℃牳璐圭敤") @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) @PostMapping("/checkfund") - public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) - { - ServiceReimbursement serviceReimbursement= serviceReimbursementService.getById(checkFundVO.getFundid()); - if(serviceReimbursement!=null) - { - Integer TotalLevel=0; + public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { + ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); + if (serviceReimbursement != null) { + Integer TotalLevel = 0; LoginUser loginUser = getLoginUser(); - ServiceFundflowrule serviceFundflowrule=new ServiceFundflowrule(); + ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); serviceFundflowrule.setFundtype(1); serviceFundflowrule.setApplytype("0"); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); - List<ServiceFundflowrule> serviceFundflowrules= serviceFundflowruleService.queryList(serviceFundflowrule); + List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); - if(serviceFundflowrules==null || serviceFundflowrules.stream().count()==0) - { - return AjaxResult.error(HttpStatus.ERROR,"褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺"); + if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { + return AjaxResult.error(HttpStatus.ERROR, "褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺"); } - if(serviceFundflowrules.get(0).getFlowlevel()-1!=serviceReimbursement.getFlowlevel()) - { - return AjaxResult.error(HttpStatus.ERROR,"褰撳墠浜哄憳涓庢璁板綍鐨勫鏍哥骇鍒笉绗�"); + if (serviceFundflowrules.get(0).getFlowlevel() - 1 != serviceReimbursement.getFlowlevel()) { + return AjaxResult.error(HttpStatus.ERROR, "褰撳墠浜哄憳涓庢璁板綍鐨勫鏍哥骇鍒笉绗�"); } - if(serviceFundflowrules!=null && serviceFundflowrules.stream().count()>0) - { - TotalLevel=serviceFundflowrules.get(0).getTotallevel(); + if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) { + TotalLevel = serviceFundflowrules.get(0).getTotallevel(); } - Integer CheckFlag=0; + Integer CheckFlag = 0; Integer RecordStatus = serviceReimbursement.getRecordstatus(); Integer FlowLevel = Integer.valueOf(serviceReimbursement.getFlowlevel().toString()); - Integer OriginalFlowLevel=FlowLevel; - if(checkFundVO.getFlowconclusion()==1) - { - CheckFlag=1; - if(TotalLevel==0) - { - RecordStatus=99; - } - else - { - if(TotalLevel==FlowLevel+1) - { - RecordStatus=99; - } - else - { - RecordStatus = (FlowLevel+1)*2; + Integer OriginalFlowLevel = FlowLevel; + if (checkFundVO.getFlowconclusion() == 1) { + CheckFlag = 1; + if (TotalLevel == 0) { + RecordStatus = 99; + } else { + if (TotalLevel == FlowLevel + 1) { + RecordStatus = 99; + } else { + RecordStatus = (FlowLevel + 1) * 2; } } - FlowLevel=FlowLevel+1; - } - else - { - CheckFlag=2; - RecordStatus = (FlowLevel+1)*2 - 1; - FlowLevel=(FlowLevel-1); - if(FlowLevel<0) - { - FlowLevel=0; + FlowLevel = FlowLevel + 1; + } else { + CheckFlag = 2; + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; } } serviceReimbursement.setRecordstatus(RecordStatus); serviceReimbursement.setFlowlevel(Long.valueOf(FlowLevel.toString())); - ServiceFundflow serviceFundflow=new ServiceFundflow(); + ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); serviceFundflow.setFundid(serviceReimbursement.getId()); serviceFundflow.setCheckuserno(user.getUserName()); @@ -585,16 +551,14 @@ serviceFundflow.setApplytype("0"); serviceFundflow.setFlowconclusion(CheckFlag); serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); - serviceFundflow.setFlowlevel(OriginalFlowLevel+1); + serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); serviceFundflowService.save(serviceFundflow); - List<Integer> postids =postService.selectPostListByUserId(loginUser.getUserId()); + List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId()); - if(!postids.contains(2)) - { - if(CheckFlag==2 && OriginalFlowLevel==1) - { - ServiceFundflow serviceFundflowAuto=new ServiceFundflow(); + if (!postids.contains(2)) { + if (CheckFlag == 2 && OriginalFlowLevel == 1) { + ServiceFundflow serviceFundflowAuto = new ServiceFundflow(); serviceFundflowAuto.setFundid(serviceReimbursement.getId()); serviceFundflowAuto.setCheckuserno(user.getUserName()); serviceFundflowAuto.setCheckusername(user.getNickName()); @@ -611,7 +575,7 @@ serviceReimbursementService.updateById(serviceReimbursement); - ServiceSystemmessage serviceSystemmessage=new ServiceSystemmessage(); + ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); serviceSystemmessage.setFundtype(1); serviceSystemmessage.setApplytype("0"); serviceSystemmessage.setSenduserno(user.getUserName()); @@ -621,26 +585,21 @@ serviceSystemmessage.setIsread(0); serviceSystemmessage.setMessagetype(1); serviceSystemmessage.setRelevantno(serviceReimbursement.getId()); - if(CheckFlag==1) - { + if (CheckFlag == 1) { //閫氳繃 - serviceSystemmessage.setMessagetitle(""+(OriginalFlowLevel+1)+"绾у鏍搁�氳繃"); - serviceSystemmessage.setMessagecontent("鎮�"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime())+"鎻愪氦鐨勫叧浜庢崘鐚渚嬨��"+serviceReimbursement.getDonorname()+"銆戠殑宸梾璐圭敵璇峰凡閫氳繃"+(OriginalFlowLevel+1)+"绾у鏍�"); + serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃"); + serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�"); - } - else - { + } else { //椹冲洖 - serviceSystemmessage.setMessagetitle(""+(OriginalFlowLevel+1)+"绾у鏍搁┏鍥�"); - serviceSystemmessage.setMessagecontent("鎮�"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime())+"鎻愪氦鐨勫叧浜庢崘鐚渚嬨��"+serviceReimbursement.getDonorname()+"銆戠殑宸梾璐圭敵璇峰凡琚�"+(OriginalFlowLevel+1)+"绾у鏍搁┏鍥烇紝鍘熷洜涓�"+checkFundVO.getFlowcontent()+""); + serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�"); + serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡琚�" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥烇紝鍘熷洜涓�" + checkFundVO.getFlowcontent() + ""); } ServiceSystemmessage.save(serviceSystemmessage); return AjaxResult.success(); - } - else - { - return AjaxResult.error(HttpStatus.NO_CONTENT,"璐圭敤缂栧彿涓嶆纭�"); + } else { + return AjaxResult.error(HttpStatus.NO_CONTENT, "璐圭敤缂栧彿涓嶆纭�"); } } @@ -652,14 +611,27 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE) @PutMapping - @RepeatSubmit - public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) - { - boolean b= serviceReimbursementService.updateById(serviceReimbursement); - if(b) - { - addReiSharedDatd(serviceReimbursement,2); + @RepeatSubmit + public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) { + boolean b = serviceReimbursementService.updateById(serviceReimbursement); + if (b) { + addReiSharedDatd(serviceReimbursement, 2); } + return toAjax(b); + } + + /** + * 淇敼鎶ラ攢鐢宠 + */ + @ApiOperation("淇敼鎶ラ攢鐢宠") + //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')") + @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER) + @PostMapping("/editMoney") + public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) { + boolean b = serviceReimbursementService.updateById(null); +// if (b) { +// addReiSharedDatd(null, 2); +// } return toAjax(b); } @@ -670,8 +642,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')") @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { + public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(serviceReimbursementService.removeByIds(Arrays.asList(ids))); } @@ -682,13 +653,13 @@ @GetMapping(value = "/download/{id}") public Map downloadInfo(@PathVariable("id") Long id) throws IOException { Map dataMap = new HashMap(); - getData(dataMap,id); + getData(dataMap, id); String filePath = getClass().getResource("/template/").getPath(); System.out.println(filePath); //璁剧疆妯℃湰瑁呯疆鏂规硶鍜岃矾寰�,FreeMarker鏀寔澶氱妯℃澘瑁呰浇鏂规硶銆傚彲浠ラ噸servlet锛宑lasspath锛屾暟鎹簱鏁欑▼瑁呰浇锛� configuration.setDirectoryForTemplateLoading(new File(filePath)); - Template t=null; + Template t = null; try { //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉� t = configuration.getTemplate("宸梾璐规姤閿�鐢宠鍗�.ftl"); @@ -696,14 +667,28 @@ e.printStackTrace(); } String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis()); - String name = "宸梾璐规姤閿�鐢宠鍗昣"+dataMap.get("XM")+"_"+ newTime; + String name = "宸梾璐规姤閿�鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime; //杈撳嚭鏂囨。璺緞鍙婂悕绉� - File outFile = new File(RuoYiConfig.getProfile()+"/download/wordtemplate/"+name+".doc"); + File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); + + //鍒涘缓鏂囦欢澶� + File folderPath = new File(RuoYiConfig.getProfile() + "/download/wordtemplate"); + if (!folderPath.exists()) { + boolean success = folderPath.mkdirs(); + if (success) { + System.out.println("鐩綍鍒涘缓鎴愬姛"); + } else { + System.out.println("鐩綍鍒涘缓澶辫触"); + } + } else { + System.out.println("鐩綍宸插瓨鍦�"); + } + Writer out = null; try { - out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8")); + out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); } catch (FileNotFoundException e1) { e1.printStackTrace(); @@ -713,76 +698,153 @@ } catch (TemplateException e) { e.printStackTrace(); } - Map<String ,Object> map = new HashMap<>(); - map.put("downloadUrl", "/profile/download/wordtemplate/"+name+".doc"); + Map<String, Object> map = new HashMap<>(); + map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); return map; } - private void getData(Map dataMap,Long id) { - ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(id); - if (serviceReimbursement == null) { - throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT); + private void getData(Map dataMap, Long id) { + + //ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(id); + ServiceReimbursement serviceReimbursement = null; + ServiceReimbursementEo serviceReimbursementEo = new ServiceReimbursementEo(); + serviceReimbursementEo.setId(id); + List<ServiceReimbursementEo> rdInfoByItem = serviceReimbursementService.getRDInfoByItem(serviceReimbursementEo); + //鑾峰彇鎶ラ攢鏀粯淇℃伅 + List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo); + + Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype)); + List<Map<String, BigDecimal>> list = new ArrayList<>(); + StringBuffer FYXM1 = new StringBuffer(); + StringBuffer FYXM2 = new StringBuffer(); + StringBuffer FYXM3 = new StringBuffer(); + int flag = 0; + String key1 = null; + BigDecimal allMoney = new BigDecimal(0.00); + BigDecimal otherMoneyall = new BigDecimal(0.00); + for (String key : listMap.keySet()) { + Map<String, BigDecimal> map = new HashMap<>(); + List<ServiceReimbursementEo> values = listMap.get(key); + BigDecimal otherMoney = new BigDecimal(0.00); + BigDecimal keyOneMoney = new BigDecimal(0.00); + BigDecimal keyTwoMoney = new BigDecimal(0.00); + for (ServiceReimbursementEo serviceReimbursementEo1 : values) { + otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()) + .add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()) + .add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount()); + } + map.put(key, otherMoney); + list.add(map); + // 涓嶄负涓撳鎴栧灞� + if (!key.equals("3") && !key.equals("4")) { + //灏嗕笂涓�娆$殑娓呯┖ + FYXM1.delete(0, FYXM1.length()); + //鍐嶆柊澧� + otherMoneyall = otherMoneyall.add(otherMoney); + FYXM1.append("OPO宸ヤ綔浜哄憳" + ":" + otherMoneyall + " "); + } else { + if (flag == 0) { + key1 = key; + flag = 1; + } + if (key1 == key) { + FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + allMoney = allMoney.add(otherMoney); + } else { + FYXM3.append(PersonType.getInfoByCode(key) + ":" + otherMoney); + allMoney = allMoney.add(otherMoney); + } + } + } + allMoney = allMoney.add(otherMoneyall); + if (FYXM1.length() == 0) { + if (FYXM2.length() != 0 && FYXM3.length() != 0) { + FYXM1.append(FYXM3); + FYXM3.setLength(0); + } else if (FYXM2.length() != 0 && FYXM3.length() == 0) { + FYXM1.append(FYXM2); + FYXM2.setLength(0); + } + } else if (FYXM2.length() == 0) { + if (FYXM3.length() != 0) { + FYXM2.append(FYXM3); + FYXM3.setLength(0); + } } - Date dt = serviceReimbursement.getCreateTime(); + if (rdInfoByItem == null || rdInfoByItem.size() == 0) { + throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT); + } + + Date dt = rdInfoByItem.get(0).getCreateTime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String time = date.substring(0, 10); dataMap.put("TBYYMMDD", time); - dataMap.put("BXDFJ", serviceReimbursement.getAttachcount() == 0 ? " " : "" + serviceReimbursement.getAttachcount()); - dataMap.put("JXZXM", serviceReimbursement.getDonorname() == null ? "" : serviceReimbursement.getDonorname()); - dataMap.put("JSR", serviceReimbursement.getUsername() == null ? "" : serviceReimbursement.getUsername()); - dataMap.put("FYXM1", "宸梾璐规姤閿�鎬婚噾棰濓細 " + String.format("%.2f", serviceReimbursement.getAmountrequested()).toString() + "鍏�"); - dataMap.put("FYXM2", ""); - dataMap.put("FYXM3", ""); - dataMap.put("JEXS", serviceReimbursement.getAmountrequested()); - //double temp = 0; - //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d; - dataMap.put("JEDS", convert(serviceReimbursement.getAmountrequested()) + "鏁�"); + dataMap.put("BXDFJ", rdInfoByItem.get(0).getAttachcount() == null ? " " : "" + rdInfoByItem.get(0).getAttachcount()); + dataMap.put("JXZXM", rdInfoByItem.get(0).getDonorname() == null ? "" : rdInfoByItem.get(0).getDonorname()); + dataMap.put("JSR", rdInfoByItem.get(0).getUsername() == null ? "" : rdInfoByItem.get(0).getUsername()); + if (FYXM1.length() != 0) { + dataMap.put("FYXM1", FYXM1.toString() + "鍏� "); + } else { + dataMap.put("FYXM1", ""); + } + if (FYXM2.length() != 0) { + dataMap.put("FYXM2", FYXM2.toString() + "鍏� "); + } else { + dataMap.put("FYXM2", ""); + } + if (FYXM3.length() != 0) { + dataMap.put("FYXM3", FYXM3.toString() + "鍏� "); + } else { + dataMap.put("FYXM3", ""); + } + dataMap.put("JEXS", allMoney); + dataMap.put("JEDS", convert(allMoney.doubleValue()) + "鏁�"); String remark = ""; - remark += serviceReimbursement.getCosttypename() == null ? "" : serviceReimbursement.getCosttypename() + "("; - - remark += serviceReimbursement.getTravelers() == null ? "" : serviceReimbursement.getTravelers() + ": "; - - remark += serviceReimbursement.getIdcardno() == null ? "" : serviceReimbursement.getIdcardno() + "; "; - - remark += serviceReimbursement.getDepositbank() == null ? "" : serviceReimbursement.getDepositbank() + ": "; - - remark += serviceReimbursement.getBankcardno() == null ? "" : serviceReimbursement.getBankcardno() + ")"; - remark += "\n"; - remark += serviceReimbursement.getRemark() == null ? "" : serviceReimbursement.getRemark(); + for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) { + remark += "<w:br/> " + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount(); + remark += " 鍏�; "; + if (!StringUtils.isEmpty(serviceReimbursementpayee.getBankname())) { + remark += serviceReimbursementpayee.getBankname() + " ( " + serviceReimbursementpayee.getBankcardno() + ")"; + } + remark += " 澶囨敞: " + serviceReimbursementpayee.getPersontype(); + if (!StringUtils.isEmpty(serviceReimbursementpayee.getRemark())) { + remark += serviceReimbursementpayee.getRemark(); + } + } dataMap.put("BXBZ", remark); dataMap.put("YYMMDD", time); - dataMap.put("FJ", serviceReimbursement.getAttachcount() == 0 ? " " : "" + serviceReimbursement.getAttachcount()); - dataMap.put("FP", serviceReimbursement.getInvoicecount() == 0 ? " " : "" + serviceReimbursement.getInvoicecount()); - dataMap.put("XM", serviceReimbursement.getTravelers() == null ? "" : serviceReimbursement.getTravelers()); - dataMap.put("BXR", serviceReimbursement.getUsername() == null ? "" : serviceReimbursement.getUsername()); - dataMap.put("QYZZ", serviceReimbursement.getManagername() == null ? "" : serviceReimbursement.getManagername()); - dataMap.put("CCSY", serviceReimbursement.getReason() == null ? "" : serviceReimbursement.getReason()); + dataMap.put("FJ", rdInfoByItem.get(0).getAttachcount() == null ? " " : "" + rdInfoByItem.get(0).getAttachcount()); + dataMap.put("FP", rdInfoByItem.get(0).getInvoicecount() == null ? " " : "" + rdInfoByItem.get(0).getInvoicecount()); + dataMap.put("XM", rdInfoByItem.get(0).getTravelers() == null ? "" : rdInfoByItem.get(0).getTravelers()); + dataMap.put("BXR", rdInfoByItem.get(0).getUsername() == null ? "" : rdInfoByItem.get(0).getUsername()); + dataMap.put("QYZZ", rdInfoByItem.get(0).getManagername() == null ? "" : rdInfoByItem.get(0).getManagername()); + dataMap.put("CCSY", rdInfoByItem.get(0).getReason() == null ? "" : rdInfoByItem.get(0).getReason()); List<ServiceReimbursementdetail> rd = serviceReimbursementdetailService.getAllDetailsByRBID(id); if (rd == null) { throw new ServiceException("涓嬭浇澶辫触锛屾病鏈夊搴斾俊鎭�", HttpStatus.NO_CONTENT); } - List<Map<String, Object>> newsList = new ArrayList<Map<String,Object>>(); + List<Map<String, Object>> newsList = new ArrayList<Map<String, Object>>(); int days = 0; - double te = 0; - double cf = 0; - double he = 0; - double oe = 0; - double fe = 0; - double fa = 0; - double hj = 0; - double qt = 0; - for(ServiceReimbursementdetail s : rd) { - Map<String, Object> map=new HashMap<String, Object>(); + BigDecimal te = BigDecimal.ZERO; + BigDecimal cf = BigDecimal.ZERO; + BigDecimal he = BigDecimal.ZERO; + BigDecimal oe = BigDecimal.ZERO; + BigDecimal fe = BigDecimal.ZERO; + BigDecimal fa = BigDecimal.ZERO; + BigDecimal hj = BigDecimal.ZERO; + BigDecimal qt = BigDecimal.ZERO; + for (ServiceReimbursementdetail s : rd) { + Map<String, Object> map = new HashMap<String, Object>(); Date st = s.getStarttime(); SimpleDateFormat formatter_st = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -812,35 +874,35 @@ days += s.getDays(); map.put("JT", s.getTraffictype() == null ? "" : s.getTraffictype()); map.put("QTFSM", s.getOtherfeedesc() == null ? "" : s.getOtherfeedesc()); - map.put("JTF", s.getTrafficexpense() == 0.00 ? "" : String.format("%.2f", s.getTrafficexpense()).toString() + ""); - te += s.getTrafficexpense(); - map.put("SNJT", s.getCityfee() == 0.00 ? "" : String.format("%.2f", s.getCityfee()).toString() + ""); - cf += s.getCityfee(); - map.put("ZSF", s.getHotelexpense() == 0.00 ? "" : String.format("%.2f", s.getHotelexpense()).toString() + ""); - he += s.getHotelexpense(); - map.put("ZF", s.getOtherexpense() == 0.00 ? "" : String.format("%.2f", s.getOtherexpense()).toString() + ""); - oe += s.getOtherexpense(); - map.put("HSBX", s.getFoodexpenses() == 0.00 ? "" : String.format("%.2f",s.getFoodexpenses()).toString() + ""); - fe += s.getFoodexpenses(); - map.put("HSBZ", s.getFoodallowance() == 0.00 ? "" : String.format("%.2f",s.getFoodallowance()).toString() + ""); - fa += s.getFoodallowance(); - map.put("QTF", s.getOtherfeeamount() == 0.00 ? "" : String.format("%.2f",s.getOtherfeeamount()).toString() + ""); - qt += s.getOtherfeeamount(); - map.put("HJ", String.format("%.2f", s.getTrafficexpense() + s.getCityfee() + s.getHotelexpense() + s.getOtherexpense() + s.getFoodexpenses() + s.getFoodallowance() + s.getOtherfeeamount()).toString() + ""); - hj += s.getTrafficexpense() + s.getCityfee() + s.getHotelexpense() + s.getOtherexpense() + s.getFoodexpenses() + s.getFoodallowance() + s.getOtherfeeamount(); + map.put("JTF", s.getTrafficexpense().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getTrafficexpense()).toString() + ""); + te = te.add(s.getTrafficexpense()); + map.put("SNJT", s.getCityfee().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getCityfee()).toString() + ""); + cf = cf.add(s.getCityfee()); + map.put("ZSF", s.getHotelexpense().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getHotelexpense()).toString() + ""); + he = he.add(s.getHotelexpense()); + map.put("ZF", s.getOtherexpense().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getOtherexpense()).toString() + ""); + oe = oe.add(s.getOtherexpense()); + map.put("HSBX", s.getFoodexpenses().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getFoodexpenses()).toString() + ""); + fe = fe.add(s.getFoodexpenses()); + map.put("HSBZ", s.getFoodallowance().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getFoodallowance()).toString() + ""); + fa = fa.add(s.getFoodallowance()); + map.put("QTF", s.getOtherfeeamount().equals(BigDecimal.ZERO) ? "" : String.format("%.2f", s.getOtherfeeamount()).toString() + ""); + qt = qt.add(s.getOtherfeeamount()); + map.put("HJ", String.format("%.2f", s.getTrafficexpense().add(s.getCityfee()).add(s.getHotelexpense()).add(s.getOtherexpense()).add(s.getFoodexpenses()).add(s.getFoodallowance()).add(s.getOtherfeeamount())).toString() + ""); + hj = hj.add(s.getTrafficexpense().add(s.getCityfee()).add(s.getHotelexpense()).add(s.getOtherexpense()).add(s.getFoodexpenses()).add(s.getFoodallowance()).add(s.getOtherfeeamount())); //hj = Math.round(hj * 100) * 0.01d; - DecimalFormat df = new DecimalFormat("0.00"); +// DecimalFormat df = new DecimalFormat("0.00"); - hj = new Double(df.format(hj).toString()); + // hj = new Double(df.format(hj).toString()); newsList.add(map); } - dataMap.put("list",newsList); + dataMap.put("list", newsList); dataMap.put("TND", "" + days); dataMap.put("TJT", ""); - dataMap.put("TJTF", "" + String.format("%.2f",te).toString() + ""); - dataMap.put("TSNJT", "" + String.format("%.2f",cf).toString() + ""); + dataMap.put("TJTF", "" + String.format("%.2f", te).toString() + ""); + dataMap.put("TSNJT", "" + String.format("%.2f", cf).toString() + ""); dataMap.put("TZSF", "" + String.format("%.2f", he).toString() + ""); dataMap.put("TZF", "" + String.format("%.2f", oe).toString() + ""); dataMap.put("THSBX", "" + String.format("%.2f", fe).toString() + ""); @@ -848,17 +910,17 @@ dataMap.put("TQTF", "" + String.format("%.2f", qt).toString() + ""); dataMap.put("THJ", "" + String.format("%.2f", hj).toString() + ""); - dataMap.put("DS", convert(hj) + "鏁�"); + dataMap.put("DS", convert(hj.doubleValue()) + "鏁�"); //dataMap.put("DS", "鏁�"); dataMap.put("XS", String.format("%.2f", hj).toString() + ""); - dataMap.put("R", serviceReimbursement.getCosttypename() == null ? "" : serviceReimbursement.getCosttypename()); + dataMap.put("R", StringUtils.isEmpty(rdInfoByItem.get(0).getCosttypename()) ? "" : rdInfoByItem.get(0).getCosttypename()); } public static String convert(Double money) { String smoney = money.toString(); - try{ + try { if (smoney.indexOf(".") != -1) { //鎶婃暟鍊煎垎涓烘暣鏁板瀷鍜屽甫灏忔暟鐨勬暟鍊煎垎寮�澶勭悊銆� String left = smoney.substring(0, smoney.indexOf(".")); String right = smoney.substring(smoney.indexOf(".") + 1); @@ -868,7 +930,7 @@ } else { return convertLeft(smoney); } - }catch(IllegalArgumentException e){ + } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); System.out.println("璇疯緭鍏ヨ浆鎹㈣寖鍥村唴鐜伴噾"); return null; @@ -880,12 +942,12 @@ int length = left.length(); //鏍规嵁鍗曚綅'浜�','涓�','鍏�'锛屾妸鏁存暟閮ㄥ垎鍒嗕负3绉嶆儏鍐靛鐞嗐�� if (length <= 4) { //閲戦鍦ㄥ崈鍏冧互鍐呫�� - if(length == 1 && Integer.valueOf(left) == 0) //閲戦涓�'0'鍏冩椂鐨勭壒娈婃儏鍐点�� + if (length == 1 && Integer.valueOf(left) == 0) //閲戦涓�'0'鍏冩椂鐨勭壒娈婃儏鍐点�� return "闆跺厓"; return convertPart(left, length); } else if (length <= 8) { //閲戦鍦ㄥ崈涓囧厓浠ュ唴銆� - String part1 = left.substring(0,length - 4); + String part1 = left.substring(0, length - 4); String part2 = left.substring(length - 4, length); String result1 = convertPart(part1, length); @@ -936,7 +998,7 @@ String number = ""; String unit = ""; - if(part.equals("0000") && position == 8) //鐢ㄤ簬鎺掗櫎鍗曚綅涓�'涓�'鏃讹紝鍥涗綅鏁板�煎潎涓�'0'鐨勬儏鍐点�� + if (part.equals("0000") && position == 8) //鐢ㄤ簬鎺掗櫎鍗曚綅涓�'涓�'鏃讹紝鍥涗綅鏁板�煎潎涓�'0'鐨勬儏鍐点�� return ""; for (int i = 0; i < part.length(); i++) { int value = Integer.valueOf(String.valueOf(part.charAt(i))); @@ -961,7 +1023,6 @@ System.out.println(result); return result; } - } -- Gitblit v1.9.3