From 2136ebf3c9a32430a27b5c50d7a7452cc3b30fdd Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 05 九月 2025 15:34:34 +0800
Subject: [PATCH] 审批日志
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java | 688 ++++++++++++++++++++++----------------------------------
1 files changed, 269 insertions(+), 419 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 0d00995..10fe981 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -1,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,32 +11,36 @@
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.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
import com.ruoyi.project.domain.vo.CheckFundVO;
+import com.ruoyi.project.domain.vo.DingTalkReqVo;
import com.ruoyi.project.domain.vo.SpFinancialExpensesIn;
import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut;
import com.ruoyi.project.service.*;
import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysUserService;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
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.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -48,6 +50,7 @@
* @author ruoyi
* @date 2022-01-24
*/
+@Slf4j
@Api("鎶ラ攢鐢宠")
@RestController
@RequestMapping("/project/reimbursement")
@@ -55,11 +58,14 @@
@Autowired
private IServiceReimbursementService serviceReimbursementService;
- @Autowired
- private IServiceReimbursementpayeeService reimbursementpayeeService;
+// @Autowired
+// private MergeFilesToPDFUtils mergeFilesToPDFUtils;
@Autowired
- private IServiceReimbursementSharedService serviceReimbursementServiceShare;
+ private IServiceReimbursementSharedService serviceReimbursementSharedService;
+
+ @Autowired
+ private IServiceReimbursementpayeeService reimbursementpayeeService;
@Autowired
private IServiceReimbursementdetailService serviceReimbursementdetailService;
@@ -71,10 +77,13 @@
private IServiceFundflowService serviceFundflowService;
@Autowired
- private ISysPostService postService;
+ private DingTalkService dingTalkService;
@Autowired
- private IServiceSystemmessageService ServiceSystemmessage;
+ private ISysUserService sysUserService;
+
+ @Autowired
+ private ISysPostService postService;
private static Configuration configuration = null;
@@ -91,12 +100,13 @@
* 鏌ヨ鎶ラ攢鐢宠鍒楄〃
*/
@ApiOperation("鏌ヨ鎶ラ攢鐢宠鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:list')")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:list')")
@Log(title = "鏌ヨ鎶ラ攢鐢宠鍒楄〃", businessType = BusinessType.OTHER)
@GetMapping("/list")
public TableDataInfo list(ServiceReimbursement serviceReimbursement) {
SysUser user = SecurityUtils.getLoginUser().getUser();
serviceReimbursement.setCreateBy(user.getUserName());
+ serviceReimbursement.setUsername(user.getNickName());
startPage();
List<ServiceReimbursement> list = serviceReimbursementService.queryList(serviceReimbursement);
return getDataTable(list);
@@ -127,8 +137,10 @@
String APPLICATIONENDTIME = spFinancialExpensesIn.getAPPLICATIONENDTIME();
Integer CHECKFLAG = spFinancialExpensesIn.getCHECKFLAG();
Integer APPLYTYPE = spFinancialExpensesIn.getAPPLYTYPE();
+ Integer checkstatus = spFinancialExpensesIn.getCheckstatus();
Integer pageNum = spFinancialExpensesIn.getPageNum();
Integer pageSize = spFinancialExpensesIn.getPageSize();
+ String donorname = spFinancialExpensesIn.getDonorname();
if (pageNum == null) {
pageNum = 1;
@@ -149,8 +161,29 @@
if (APPLICATIONENDTIME == null) {
APPLICATIONENDTIME = "";
}
+
//startPage();
- List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE);
+ List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE, checkstatus, donorname);
+ //鏍规嵁缁忓姙浜虹瓫閫�
+ if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) {
+ list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 鎸塶ame瀛楁杩囨护
+ }
+ //鏍规嵁閲戦绛涢��
+ if (spFinancialExpensesIn.getMoney() != null) {
+ list = list.stream().filter(reimbursementOut -> new BigDecimal(reimbursementOut.getAmountrequested()).compareTo(new BigDecimal(spFinancialExpensesIn.getMoney())) == 0).collect(Collectors.toList());
+
+ }
+ //鏍规嵁涓氬姟缁勭瓫閫�
+ if (StringUtils.isNotBlank(spFinancialExpensesIn.getDeptnos())) {
+ list = list.stream().filter(reimbursementOut -> reimbursementOut.getDeptmentno().contains(spFinancialExpensesIn.getDeptnos())).collect(Collectors.toList()); // 鎸塶ame瀛楁杩囨护
+ }
+ //鏍规嵁鍒涘缓鏃堕棿鎺掑簭
+ Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() {
+ @Override
+ public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) {
+ return o1.getApplyTime().compareTo(o2.getApplyTime());
+ }
+ });
return getCustomDataTable(list, pageNum, pageSize);
}
@@ -158,7 +191,7 @@
* 瀵煎嚭鎶ラ攢鐢宠鍒楄〃
*/
@ApiOperation("瀵煎嚭鎶ラ攢鐢宠鍒楄〃")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:export')")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:export')")
@Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(ServiceReimbursement serviceReimbursement) {
@@ -171,7 +204,7 @@
* 鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅
*/
@ApiOperation("鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:query')")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return AjaxResult.success(serviceReimbursementService.getById(id));
@@ -188,259 +221,37 @@
}
/**
- * 寰�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));
- }
-
- /**
* 鏂板鎶ラ攢鐢宠
*/
@ApiOperation("鏂板鎶ラ攢鐢宠")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:add')")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:add')")
@Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.INSERT)
- @PostMapping
+ @PostMapping("/add")
@RepeatSubmit
@Options(useGeneratedKeys = true, keyProperty = "id")
public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
-
- boolean b = serviceReimbursementService.save(serviceReimbursement);
- if (b) {
- addReiSharedDatd(serviceReimbursement, 1);
+ if (!Objects.isNull(serviceReimbursement)) {
+ serviceReimbursement.setCreateTime(new Date());
+ serviceReimbursement.setCheckstatus(serviceReimbursement.getCheckstatus() == null ? 1 : serviceReimbursement.getCheckstatus());
+ serviceReimbursement.setUploadStates(0);
+ boolean b = serviceReimbursementService.save(serviceReimbursement);
+ Long id = serviceReimbursement.getId();
+ return AjaxResult.success(id);
}
- Long id = serviceReimbursement.getId();
- return AjaxResult.success(id);
+ return error();
}
- public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) {
- //remShare = ;
- ServiceReimbursementShared remShare = null;
- if (nType == 1) {
- remShare = new ServiceReimbursementShared();
- remShare.setReimid(serviceReimbursement.getId());
- } else //modify
- {
- List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
- if (remlist != null)
- remShare = remlist.get(0);
- }
+// /**
+// * 宸梾璐逛笂鎶�
+// */
+// @ApiOperation("宸梾璐逛笂鎶�")
+// @Log(title = "宸梾璐逛笂鎶�", businessType = BusinessType.OTHER)
+// @PostMapping("/test")
+// public AjaxResult test(@RequestBody CheckFundVO checkFundVO) {
+// mergeFilesToPDFUtils.generatePdf(checkFundVO.getFileNames(), checkFundVO.getOutputFile());
+// return AjaxResult.success(200);
+// }
- remShare.setUserno(serviceReimbursement.getUserno());
- remShare.setUsername(serviceReimbursement.getUsername());
- remShare.setTravelers(serviceReimbursement.getTravelers());
- remShare.setIdcardtype(serviceReimbursement.getIdcardtype());
- remShare.setIdcardno(serviceReimbursement.getIdcardno());
- remShare.setPhone(serviceReimbursement.getPhone());
- remShare.setDepositbank(serviceReimbursement.getDepositbank());
- remShare.setBankcardno(serviceReimbursement.getBankcardno());
- remShare.setBranchbankname(serviceReimbursement.getBranchbankname());
- remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard());
- remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
- //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
- // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
-
- Double nTemp = serviceReimbursement.getAmountrequested();
- if (nTemp == null) nTemp = 0d;
- remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
-
- nTemp = serviceReimbursement.getPrepaidamount();
- if (nTemp == null) nTemp = 0.0;
- remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
-
- remShare.setInvoicecount(serviceReimbursement.getInvoicecount());
- remShare.setAttachcount(serviceReimbursement.getAttachcount());
- remShare.setManagerno(serviceReimbursement.getManagerno());
- remShare.setManagername(serviceReimbursement.getManagername());
- remShare.setDeptmentno(serviceReimbursement.getDeptmentno());
- remShare.setDeptmentname(serviceReimbursement.getDeptmentname());
- remShare.setOpochecker(serviceReimbursement.getOpochecker());
- remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident());
- remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident());
- remShare.setOfficedirector(serviceReimbursement.getOfficedirector());
- remShare.setFinancedirector(serviceReimbursement.getFinancedirector());
- remShare.setFinancechecher(serviceReimbursement.getFinancechecher());
- remShare.setInfoid(serviceReimbursement.getInfoid());
- remShare.setDonorno(serviceReimbursement.getDonorno());
-
- remShare.setDonorname(serviceReimbursement.getDonorname());
- remShare.setReason(serviceReimbursement.getReason());
- remShare.setRecordstatus(serviceReimbursement.getRecordstatus());
- remShare.setUploadflag(serviceReimbursement.getUploadflag());
- remShare.setUploadtime(serviceReimbursement.getUploadtime());
-
- nTemp = serviceReimbursement.getTotalamount();
- if (nTemp == null) nTemp = 0.0;
- remShare.setTotalamount(BigDecimal.valueOf(nTemp));
-
- remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney());
- remShare.setFlowlevel(serviceReimbursement.getFlowlevel());
- remShare.setCosttype(serviceReimbursement.getCosttype());
- remShare.setCosttypename(serviceReimbursement.getCosttypename());
- remShare.setFileurl(serviceReimbursement.getAnnexfiles());
- remShare.setDonorbank(serviceReimbursement.getDonorbank());
- remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard());
- remShare.setDonorremark(serviceReimbursement.getDonorremark());
-
- 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) {
- bRet = serviceReimbursementServiceShare.save(remShare);
- } else {
- //remShare.setId(serviceReimbursement.);
- bRet = serviceReimbursementServiceShare.updateById(remShare);
- }
-
- //if(!bRet) return -1;
- String strMutfileUrl = remShare.getFileurl();
- //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
- 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(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");
-
- 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.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
-
- 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();
- }
-
-
- /*CloseableHttpClient httpClient = HttpClients.createDefault();
- //鍒涘缓post鏂规硶杩炴帴瀹炰緥锛屽湪post鏂规硶涓紶鍏ュ緟杩炴帴鍦板潃
- HttpPost httpPost = new HttpPost(strFUrl);
- CloseableHttpResponse response = null;
-
- String struploadResult = "";
- try {
- //璁剧疆璇锋眰鍙傛暟锛堢被浼糷tml椤甸潰涓璶ame灞炴�э級
- MultipartEntityBuilder entity = MultipartEntityBuilder.create();
- //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
- entity.setCharset(Charset.forName("UTF-8"));
-
- byte[] fileBytes = Files.readAllBytes(Paths.get(strFile));
- if (fileBytes != null) {
- //鍐呭绫诲瀷锛岀敤浜庡畾涔夌綉缁滄枃浠剁殑绫诲瀷鍜岀綉椤电殑缂栫爜锛屽喅瀹氭枃浠舵帴鏀舵柟灏嗕互浠�涔堝舰寮忋�佷粈涔堢紪鐮佽鍙栬繖涓枃浠�
- ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8"));
- //娣诲姞鏂囦欢
- entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp);
- }
-
- httpPost.setEntity(entity.build());
- //鍙戣捣璇锋眰锛屽苟杩斿洖璇锋眰鍝嶅簲
- response = httpClient.execute(httpPost);
- struploadResult = EntityUtils.toString(response.getEntity(), "utf-8");
- }
- 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 = serviceReimbursementServiceShare.updateById(remShare);
- if (!bRet) return -1;
-
- return 0;
- }
/**
* 宸梾璐逛笂鎶�
@@ -450,21 +261,65 @@
@PostMapping("/travelexpensereport")
public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+ serviceReimbursement.setApplyTime(new Date());
+ Long flowLavel = null;
+
+ LoginUser loginUser = getLoginUser();
+ SysUser user = loginUser.getUser();
+
+ //鏌ヨ蹇呭浜�
+ ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
+ serviceFundflowrule.setApplytype("0");
+ serviceFundflowrule.setMustAudite(1);
+ serviceFundflowrule.setDel_flag(0);
+ List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
+ log.info("reimbursement蹇呭浜虹殑绛夌骇涓猴細{}", serviceFundflowrules.get(0).getFlowlevel());
+
+ //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�;
+ if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) {
+ if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
+ //灏嗛��鍥為樁娈佃缃垚100
+ serviceReimbursement.setBackflowlevel(100L);
+ //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲�
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+ serviceReimbursement.setRecordstatus(2);
+ serviceReimbursementService.updateById(serviceReimbursement);
+
+ //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
+// serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+
+ return success();
+ } else if (serviceReimbursement.getBackflowlevel() >= Long.valueOf(serviceFundflowrules.get(0).getFlowlevel())) {
+ //蹇呭浜洪瀵奸��鍥炵殑锛屼篃闇�瑕佽蛋蹇呭浜洪偅閲�
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+ serviceReimbursement.setRecordstatus(2);
+ serviceReimbursementService.updateById(serviceReimbursement);
+ return success();
+ }
+ }
if (serviceReimbursement != null) {
Integer TotalLevel = 0;
- LoginUser loginUser = getLoginUser();
- SysUser user = loginUser.getUser();
List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
if (!postids.contains(2)) {
- serviceReimbursement.setFlowlevel(1L);
serviceReimbursement.setRecordstatus(2);
+ if (serviceReimbursement.getBackflowlevel() != null) {
+ serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
+ } else {
+ serviceReimbursement.setBackflowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+ serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+ }
} else {
- serviceReimbursement.setFlowlevel(0L);
serviceReimbursement.setRecordstatus(0);
+ if (serviceReimbursement.getBackflowlevel() != null) {
+ serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
+ } else {
+ serviceReimbursement.setFlowlevel(0L);
+ serviceReimbursement.setBackflowlevel(0L);
+ }
}
- if (!postids.contains(2)) {
+ if (!postids.contains(2) && (serviceReimbursement.getBackflowlevel() == null || serviceReimbursement.getBackflowlevel() == 0)) {
ServiceFundflow serviceFundflow = new ServiceFundflow();
serviceFundflow.setFundid(serviceReimbursement.getId());
serviceFundflow.setCheckuserno(user.getUserName());
@@ -473,8 +328,35 @@
serviceFundflow.setApplytype("0");
serviceFundflow.setFlowconclusion(1);
serviceFundflow.setFlowcontent("闈炰笓鑱屼汉鍛樼洿鎺ヨ繘鍏ヤ簩绾у鏍�");
- serviceFundflow.setFlowlevel(1);
+
+ serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1);
serviceFundflowService.save(serviceFundflow);
+
+
+ SysUser sysUser = null;
+ if (serviceReimbursement.getFlowlevel() == 0L) {
+ //缁勯暱淇℃伅
+ SysUser su = new SysUser();
+ su.setNickName(serviceReimbursement.getManagername());
+ List<SysUser> sysUserList = sysUserService.selectUserList(su);
+ if (sysUserList.size() > 0) {
+ sysUser = sysUserList.get(0);
+ }
+ } else if (serviceReimbursement.getFlowlevel() == 1L) {
+ //闄堟厱鍗庝俊鎭�
+ sysUser = sysUserService.selectUserByUserName("047");
+ }
+ ConcurrentHashMap map = new ConcurrentHashMap();
+ ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>();
+ map.put("鎻愪氦浜猴細", loginUser.getUser().getUserName());
+ map.put("鎻愪氦鏃堕棿锛�", new Date());
+ map.put("鍐呭锛�", serviceReimbursement.getReason());
+ contentList.add(map);
+ DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
+ dingTalkReqVo.setTitle("宸梾瀹℃壒淇℃伅");
+ dingTalkReqVo.setNumber(sysUser != null ? sysUser.getPhonenumber() : "");
+ dingTalkReqVo.setContents(contentList);
+ dingTalkService.sendNotification(dingTalkReqVo);
}
serviceReimbursementService.updateById(serviceReimbursement);
@@ -493,114 +375,13 @@
@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;
- LoginUser loginUser = getLoginUser();
- ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
- serviceFundflowrule.setFundtype(1);
- serviceFundflowrule.setApplytype("0");
- serviceFundflowrule.setCheckuserno(loginUser.getUsername());
- List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
-
- 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 != null && serviceFundflowrules.stream().count() > 0) {
- TotalLevel = serviceFundflowrules.get(0).getTotallevel();
- }
- 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;
- }
- }
- 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();
- SysUser user = loginUser.getUser();
- serviceFundflow.setFundid(serviceReimbursement.getId());
- serviceFundflow.setCheckuserno(user.getUserName());
- serviceFundflow.setCheckusername(user.getNickName());
- serviceFundflow.setFundtype(1);
- serviceFundflow.setApplytype("0");
- serviceFundflow.setFlowconclusion(CheckFlag);
- serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent());
- serviceFundflow.setFlowlevel(OriginalFlowLevel + 1);
- serviceFundflowService.save(serviceFundflow);
-
- List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
-
- 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());
- serviceFundflowAuto.setFundtype(1);
- serviceFundflowAuto.setApplytype("0");
- serviceFundflowAuto.setFlowconclusion(CheckFlag);
- serviceFundflowAuto.setFlowcontent("闈炰笓鑱屼汉鍛樹簩绾у鏍告嫆缁濆悗鐩存帴閫�鍥炲埌淇敼鐘舵��");
- serviceFundflowAuto.setFlowlevel(1);
- serviceFundflowService.save(serviceFundflowAuto);
-
- serviceReimbursement.setRecordstatus(1);
- }
- }
-
- serviceReimbursementService.updateById(serviceReimbursement);
-
- ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
- serviceSystemmessage.setFundtype(1);
- serviceSystemmessage.setApplytype("0");
- serviceSystemmessage.setSenduserno(user.getUserName());
- serviceSystemmessage.setSendusername(user.getNickName());
- serviceSystemmessage.setReceiveuserno(serviceReimbursement.getUserno());
- serviceSystemmessage.setReceiveusername(serviceReimbursement.getUsername());
- serviceSystemmessage.setIsread(0);
- serviceSystemmessage.setMessagetype(1);
- serviceSystemmessage.setRelevantno(serviceReimbursement.getId());
- if (CheckFlag == 1) {
- //閫氳繃
- serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
- serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
-
- } 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.save(serviceSystemmessage);
-
- return AjaxResult.success();
- } else {
- return AjaxResult.error(HttpStatus.NO_CONTENT, "璐圭敤缂栧彿涓嶆纭�");
+ log.info("瀹℃牳璐圭敤鐨勫叆鍙� : {}", checkFundVO);
+ Map<String, String> map = serviceReimbursementService.checkFund(getLoginUser(), checkFundVO);
+ Set<String> keys = map.keySet();
+ for (String s : keys) {
+ if (!s.equals("200")) return AjaxResult.error(map.get(s));
}
+ return AjaxResult.success();
}
@@ -608,15 +389,15 @@
* 淇敼鎶ラ攢鐢宠
*/
@ApiOperation("淇敼鎶ラ攢鐢宠")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
@Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE)
- @PutMapping
+ @PostMapping("/reimbursementEdit")
@RepeatSubmit
public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) {
boolean b = serviceReimbursementService.updateById(serviceReimbursement);
- if (b) {
- addReiSharedDatd(serviceReimbursement, 2);
- }
+// if (b) {
+// addReiSharedDatd(serviceReimbursement, 2);
+// }
return toAjax(b);
}
@@ -624,14 +405,14 @@
* 淇敼鎶ラ攢鐢宠
*/
@ApiOperation("淇敼鎶ラ攢鐢宠")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
+ //// @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);
- }
+// if (b) {
+// addReiSharedDatd(null, 2);
+// }
return toAjax(b);
}
@@ -639,9 +420,9 @@
* 鍒犻櫎鎶ラ攢鐢宠
*/
@ApiOperation("鍒犻櫎鎶ラ攢鐢宠")
- //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')")
- @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
+ //// @PreAuthorize("@ss.hasPermi('project:reimbursement:remove')")
+ @Log(title = "鎶ラ攢鐢宠")
+ @GetMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(serviceReimbursementService.removeByIds(Arrays.asList(ids)));
}
@@ -655,6 +436,7 @@
Map dataMap = new HashMap();
getData(dataMap, id);
String filePath = getClass().getResource("/template/").getPath();
+ log.info("涓嬭浇鍦板潃鏄暐锛燂紵锛焮}", filePath);
System.out.println(filePath);
//璁剧疆妯℃湰瑁呯疆鏂规硶鍜岃矾寰�,FreeMarker鏀寔澶氱妯℃澘瑁呰浇鏂规硶銆傚彲浠ラ噸servlet锛宑lasspath锛屾暟鎹簱鏁欑▼瑁呰浇锛�
configuration.setDirectoryForTemplateLoading(new File(filePath));
@@ -667,7 +449,7 @@
e.printStackTrace();
}
String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
- String name = "宸梾璐规姤閿�鐢宠鍗昣" + dataMap.get("XM") + "_" + newTime;
+ String name = "宸梾璐规姤閿�鐢宠鍗昣" + dataMap.get("JSR") + "_" + newTime;
//杈撳嚭鏂囨。璺緞鍙婂悕绉�
File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
@@ -700,6 +482,7 @@
}
Map<String, Object> map = new HashMap<>();
map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");
+ map.put("downloadName", name + ".doc");
return map;
}
@@ -710,11 +493,16 @@
ServiceReimbursementEo serviceReimbursementEo = new ServiceReimbursementEo();
serviceReimbursementEo.setId(id);
List<ServiceReimbursementEo> rdInfoByItem = serviceReimbursementService.getRDInfoByItem(serviceReimbursementEo);
+ log.info("rdInfoByItem鏄惁涓虹┖ :{}", CollectionUtils.isEmpty(rdInfoByItem) ? null : rdInfoByItem.size());
+ for (int i = 0; i < rdInfoByItem.size(); i++) {
+ ServiceReimbursementEo serviceReimbursementEo1 = rdInfoByItem.get(i);
+ String codeByInfo = PersonType.getCodeByInfo(serviceReimbursementEo1.getPersontype());
+ serviceReimbursementEo1.setPersontype(codeByInfo);
+ }
//鑾峰彇鎶ラ攢鏀粯淇℃伅
List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo);
-
- Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream()
- .collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
+ log.info("reimbursementpayeeInfo鏄惁涓虹┖ :{}", CollectionUtils.isEmpty(reimbursementpayeeInfo) ? null : reimbursementpayeeInfo.size());
+ 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();
@@ -730,30 +518,76 @@
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());
+ otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getCityfee()).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);
+ // 涓嶄负涓撳鎴栧灞烇紝key鏈夊彲鑳芥槸鏁板瓧锛屾湁鍙兘鏄眽瀛�
+ Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+ boolean matches = pattern.matcher(key).matches();
+ if (matches) {
+ if (!key.equals("3") && !key.equals("4")) {
+ //灏嗕笂涓�娆$殑娓呯┖
+ FYXM1.delete(0, FYXM1.length());
+ //鍐嶆柊澧�
+ otherMoneyall = otherMoneyall.add(otherMoney);
+ FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
} else {
- FYXM3.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
- allMoney = allMoney.add(otherMoney);
+ if (flag == 0) {
+ key1 = key;
+ flag = 1;
+ }
+ if (key1 == key) {
+ if (key.equals("3")) {
+// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+ FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ } else {
+ FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ }
+ } else {
+ if (key.equals("3")) {
+// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+ FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ } else {
+ FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ }
+ }
+ }
+ } else {
+ if (!key.equals("涓撳") && !key.equals("瀹跺睘")) {
+ //灏嗕笂涓�娆$殑娓呯┖
+ FYXM1.delete(0, FYXM1.length());
+ //鍐嶆柊澧�
+ otherMoneyall = otherMoneyall.add(otherMoney);
+ FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
+ } else {
+ if (flag == 0) {
+ key1 = key;
+ flag = 1;
+ }
+ if (key1 == key) {
+ if (key.equals("涓撳")) {
+// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+ FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ } else {
+ FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ }
+ } else {
+ if (key.equals("涓撳")) {
+// FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+ FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ } else {
+ FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+ allMoney = allMoney.add(otherMoney);
+ }
+ }
}
}
}
@@ -778,11 +612,13 @@
throw new ServiceException("涓嬭浇澶辫触锛岀敤鎴蜂俊鎭嚭閿�", HttpStatus.NO_CONTENT);
}
- Date dt = rdInfoByItem.get(0).getCreateTime();
+ Date dt = rdInfoByItem.get(0).getApplyTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = formatter.format(dt);
String time = date.substring(0, 10);
+ dataMap.put("ZB", rdInfoByItem.get(0).getDeptmentname() == null ? "" : rdInfoByItem.get(0).getDeptmentname());
+ dataMap.put("XZBH", rdInfoByItem.get(0).getBh() == null ? "" : rdInfoByItem.get(0).getBh());
dataMap.put("TBYYMMDD", time);
dataMap.put("BXDFJ", rdInfoByItem.get(0).getAttachcount() == null ? " " : "" + rdInfoByItem.get(0).getAttachcount());
dataMap.put("JXZXM", rdInfoByItem.get(0).getDonorname() == null ? "" : rdInfoByItem.get(0).getDonorname());
@@ -802,19 +638,30 @@
} else {
dataMap.put("FYXM3", "");
}
- // dataMap.put("JEXS", rdInfoByItem.get(0).getAmountrequested());
dataMap.put("JEXS", allMoney);
- //double temp = 0;
- //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d;
- // dataMap.put("JEDS", convert(rdInfoByItem.get(0).getAmountrequested().doubleValue()) + "鏁�");
dataMap.put("JEDS", convert(allMoney.doubleValue()) + "鏁�");
String remark = "";
for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) {
- remark += "<w:br/> "+PersonType.getInfoByCode(serviceReimbursementpayee.getPersontype())+ "(" + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
- remark += " 鍏�; " + serviceReimbursementpayee.getBankname() + ": " + serviceReimbursementpayee.getBankcardno() + ") 澶囨敞: " + serviceReimbursementpayee.getRemark();
+ 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("ZXFZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOpochecker()) ? "" : rdInfoByItem.get(0).getOpochecker());
+//
+ dataMap.put("CWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getFinvicepresident()) ? "" : rdInfoByItem.get(0).getFinvicepresident());
+ dataMap.put("YWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getBusvicepresident()) ? "" : rdInfoByItem.get(0).getBusvicepresident());
+ dataMap.put("BGSZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOfficedirector()) ? "" : rdInfoByItem.get(0).getOfficedirector());
+ dataMap.put("CWBZR", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancedirector()) ? "" : rdInfoByItem.get(0).getFinancedirector());
+ dataMap.put("CWSH", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancechecher()) ? "" : rdInfoByItem.get(0).getFinancechecher());
dataMap.put("YYMMDD", time);
@@ -857,11 +704,16 @@
map.put("DA", s.getDeparture() == null ? "" : s.getDeparture());
Date et = s.getEndtime();
- SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String date_et = formatter_et.format(et);
- String year_et = date_et.substring(0, 4);
- String month_et = date_et.substring(5, 7);
- String day_et = date_et.substring(8, 10);
+ String year_et = null;
+ String month_et = null;
+ String day_et = null;
+ if (et != null) {
+ SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String date_et = formatter_et.format(et);
+ year_et = date_et.substring(0, 4);
+ month_et = date_et.substring(5, 7);
+ day_et = date_et.substring(8, 10);
+ }
map.put("AY", year_et == null ? "" : year_et);
map.put("AM", month_et == null ? "" : month_et);
@@ -1006,9 +858,7 @@
}
result = result.replaceAll("闆朵粺", "闆�").replaceAll("闆朵桨", "闆�") //鎶婂崟浣�'浜�','涓�','鍏�'鏀惧埌鏈�鍚庢浛鎹€��
- .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�")
- .replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�")
- .replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
+ .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�").replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
// result = result.replaceAll("闆朵粺", "闆�");
// result = result.replaceAll("闆朵桨", "闆�");
// result = result.replaceAll("闆舵嬀", "闆�");
--
Gitblit v1.9.3