From 65314b14210a175bae095649584614973b3619df Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 12 八月 2025 13:48:14 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 497 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 486 insertions(+), 11 deletions(-) diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java index a033262..6ff7672 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java @@ -1,36 +1,43 @@ package com.ruoyi.project.service.impl; import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.HttpClientKit; import com.ruoyi.common.utils.bean.DtoConversionUtils; +import com.ruoyi.common.utils.uuid.IdUtils; 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.SpFinancialExpensesReimbursementOut; import com.ruoyi.project.mapper.*; -import com.ruoyi.project.service.IServiceReimbursementSharedService; -import com.ruoyi.project.service.IServiceReimbursementdetailSharedService; -import com.ruoyi.project.service.IServiceReimbursementpayeeSharedService; +import com.ruoyi.project.service.*; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.mapper.SysUserRoleMapper; +import com.ruoyi.system.service.ISysPostService; +import com.ruoyi.system.service.ISysUserService; +import com.sun.org.apache.bcel.internal.generic.NEW; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import java.util.Map; - import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.project.service.IServiceReimbursementService; import org.springframework.transaction.annotation.Transactional; /** @@ -66,6 +73,40 @@ @Autowired IServiceReimbursementpayeeSharedService payeeSharedService; + + @Autowired + IServiceFundflowruleService serviceFundflowruleService; + + @Autowired + IServiceFundflowService serviceFundflowService; + + @Autowired + ISysUserService sysUserService; + + @Autowired + private DingTalkService dingTalkService; + + @Autowired + private ISysPostService postService; + + @Autowired + private SysUserRoleMapper sysUserRoleMapper; + + @Autowired + private IServiceSystemmessageService serviceSystemmessageService; + + @Value("${xyurl}") + private String xyurl; + + @Value("${rexyurl}") + private String rexyurl; + + @Value("${newSwitch}") + private Integer newSwitch; + + @Value("${spring.profiles.active}") + private String active; + /** * 鏌ヨ鎶ラ攢鐢宠鍒楄〃 @@ -188,7 +229,6 @@ //灏嗙粍瑁呭ソ鐨勬暟鎹彃鍏ュ埌鍒嗕韩琛ㄤ腑 sharedService.save(serviceReimbursementShared); // //涓婁紶OA鏂囦欢 -// uploadOAFileAndUpdateDb(serviceReimbursementShared); //灏唖erviceReimbursementdetail琛ㄩ噷鐨刬d璧嬪�肩粰Rdid; 灏唖erviceReimbursementShared閲岀殑ID璧嬪�肩粰RBID,骞跺皢serviceReimbursementdetailShared琛ㄩ噷鐨刬d缃┖锛岀敱鏁版嵁搴撻噸鏂扮敓鎴� for (int i = 0; i < details.size(); i++) { serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId()); @@ -197,7 +237,8 @@ //涓婁紶OA鏂囦欢 log.info("涓婁紶OA鏂囦欢鏂规硶鐨勫叆鍙�:{}", serviceReimbursementdetailShareds.get(i)); try { - uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); + //濡傛灉鏄湰鍦扮幆澧冿紝灏变笉璋冭繖涓簡 + if (!active.equals("druid")) uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); } catch (Exception e) { log.error("Exception涓璻eimShare鐨勫叆鍙俰d涓猴細{}", serviceReimbursementShared.getId()); if (serviceReimbursementShared.getId() != null) { @@ -261,6 +302,440 @@ return serviceReimbursementMapper.getRDInfoByItem(serviceReimbursementEo); } + @Override + public Map<String, String> checkFund(LoginUser loginUser, CheckFundVO checkFundVO) { + Map<String, String> allMap = new HashMap<>(); + + ServiceReimbursement serviceReimbursement = getById(checkFundVO.getFundid()); + log.info("瀹℃牳璐圭敤鐨剆erviceReimbursementService.getById杩斿弬 : {}", serviceReimbursement); + if (serviceReimbursement != null) { + Integer totalLevel = 0; + ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); + serviceFundflowrule.setFundtype(1); + serviceFundflowrule.setApplytype("0"); + serviceFundflowrule.setCheckuserno(loginUser.getUsername()); + List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); + log.info("瀹℃牳璐圭敤鐨剆erviceFundflowruleService.queryList杩斿弬 : {}", serviceFundflowrules.size()); + if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { + allMap.put(HttpStatus.ERROR + "", "褰撳墠浜哄憳鏃犳璁板綍瀹℃牳鏉冮檺"); + return allMap; + } + + if (serviceFundflowrules.get(0).getFlowlevel() - 1 != serviceReimbursement.getFlowlevel()) { + allMap.put(HttpStatus.ERROR + "", "褰撳墠浜哄憳涓庢璁板綍鐨勫鏍哥骇鍒笉绗�"); + return allMap; + } + + 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()); + if (Objects.isNull(serviceReimbursement.getBackflowlevel()) && !Objects.isNull(serviceReimbursement.getFlowlevel())) { + serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel.toString())); + } + Integer OriginalFlowLevel = FlowLevel; + if (checkFundVO.getFlowconclusion() == 1) { + CheckFlag = 1; + if (totalLevel == 0) { + //99 鍙栨秷 + RecordStatus = 99; + } else { + + if (totalLevel == FlowLevel + 1) { + RecordStatus = 99; + } else { + RecordStatus = (FlowLevel + 1) * 2; + } + } + + SysUser user = loginUser.getUser(); + if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) { + log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId()); + //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板 +// serviceReimbursementService.addSharedData(serviceReimbursement.getId()); + serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); + serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); + serviceReimbursement.setRecordstatus(99); + serviceReimbursement.setUploadStates(1); + boolean b = updateById(serviceReimbursement); + log.info("鏄惁淇敼鎴愬姛:{}", b); + Boolean aBoolean1 = null; + if (newSwitch == 1) { + aBoolean1 = sendData(serviceReimbursement); + if (!aBoolean1) { + allMap.put("500", "鍙戦�佸け璐�"); + return allMap; + } + } + //淇濆瓨瀹℃壒娴佺▼琛� + ServiceFundflow serviceFundflow = new ServiceFundflow(); + serviceFundflow.setFundid(serviceReimbursement.getId()); + serviceFundflow.setCheckuserno(user.getUserName()); + serviceFundflow.setCheckusername(user.getNickName()); + serviceFundflow.setFundtype(1); + serviceFundflow.setApplytype("0"); + serviceFundflow.setFlowconclusion(CheckFlag); + serviceFundflow.setFlowcontent("閫氳繃"); + serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); + Boolean aBoolean = serviceFundflowService.save(serviceFundflow); + allMap.put("200", "success"); + return allMap; + } + + FlowLevel = FlowLevel + 1; + serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel)); + //濡傛灉褰撳墠鐧婚檰鏄储鍔★紝鍒� + List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId()); + if (roleIds != null && roleIds.contains(11)) { + //11涓鸿储鍔� + serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃"); + } + + } else { + CheckFlag = 2; + + if (CheckFlag == 2) { + //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯�� + FlowLevel = 0; + RecordStatus = -1; + } else { + //涓嬮潰鏄師鏉ョ殑鍐欐硶锛屼竴绾т竴绾х殑寰�涓嬮��锛屽尰闄㈢幇鍦ㄤ笉瑕佽繖鏍锋悶浜嗭紝涓嬮潰杩欐浠g爜鍏堜繚鐣欙紝绛夊尰闄㈠洖蹇冭浆鎰忥紝鍐嶇粰鏀惧紑 + RecordStatus = (FlowLevel + 1) * 2 - 1; + FlowLevel = (FlowLevel - 1); + if (FlowLevel < 0) { + FlowLevel = 0; + } + } + SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement.getUserno()); + ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); + ConcurrentHashMap map = new ConcurrentHashMap(); + map.put("瀹℃壒浜猴細", loginUser.getUser().getUserName()); + map.put("瀹℃壒鏃堕棿锛�", new Date()); + map.put("鎰忚锛�", "涓嶉�氳繃"); + if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) map.put("鎰忚锛�", checkFundVO.getFlowcontent()); + contentList.add(map); + DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); + dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅"); + dingTalkReqVo.setNumber(sysUser.getPhonenumber()); + dingTalkReqVo.setContents(contentList); + dingTalkService.sendNotification(dingTalkReqVo); + } + + 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); + if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { + serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); + } else { + serviceFundflow.setFlowcontent(checkFundVO.getFlowconclusion() == 1 ? "閫氳繃" : "涓嶉�氳繃"); + } + serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); + serviceFundflowService.save(serviceFundflow); + + List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId()); + log.info("postService.selectPostListByUserId : {}", postids.size()); + if (!postids.contains(2) && !postids.contains(6) && (serviceReimbursement.getBackflowlevel() == null || serviceReimbursement.getBackflowlevel() == 0)) { + 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); + } + + } + //053瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂 + if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) { + serviceReimbursement.setOfficedirector(user.getNickName()); + serviceReimbursement.setUploadStates(1); + + Boolean aBoolean1 = null; + if (newSwitch == 1) { + aBoolean1 = sendData(serviceReimbursement); + if (!aBoolean1) { + allMap.put("500", "鍙戦�佸け璐�"); + return allMap; + } + } + } + + 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.setUpdateTime(new Date()); + serviceSystemmessage.setUpdateBy(user.getNickName()); + serviceSystemmessage.setRelevantno(serviceReimbursement.getId()); + log.info("CheckFlag鐨勫�� : {}", CheckFlag); + if (CheckFlag == 1) { + //閫氳繃 + serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃"); + serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇峰凡閫氳繃"); + log.info("totalLevel鐨勫�� : {}, OriginalFlowLevel鐨勫��:{}", totalLevel, OriginalFlowLevel); + + } else { + //椹冲洖 + serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�"); + serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇疯椹冲洖锛屽師鍥�:" + checkFundVO.getFlowcontent() + ""); + } + serviceSystemmessageService.save(serviceSystemmessage); + + allMap.put("200", "success"); + } else { + allMap.put(HttpStatus.NO_CONTENT + "", "璐圭敤缂栧彿涓嶆纭�"); + } + + + return allMap; + } + + + public Boolean sendData(ServiceReimbursement serviceReimbursement) { + // fund鍜宖unddetail鐨勬暟鎹幏鍙� + addSharedData(serviceReimbursement.getId()); + List<ServiceReimbursementShared> serviceReimbursementSharedList = sharedService.getRemShareInfoByRemId(serviceReimbursement.getId()); + if (org.springframework.util.CollectionUtils.isEmpty(serviceReimbursementSharedList)) return false; + + log.info("serviceReimbursementSharedList鐨勬暟鎹噺涓猴細{}", serviceReimbursementSharedList.size()); + + //detail璇︽儏 + ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared(); + serviceReimbursementdetailShared.setRbid(serviceReimbursementSharedList.get(0).getId()); + List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = detailSharedService.queryList(serviceReimbursementdetailShared); + + //payee璇︽儏 + ServiceReimbursementpayeeShared serviceReimbursementpayeeShared = new ServiceReimbursementpayeeShared(); + serviceReimbursementpayeeShared.setRbid(serviceReimbursementSharedList.get(0).getId()); + List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = payeeSharedService.queryList(serviceReimbursementpayeeShared); + + + // 鏁版嵁鐨勫皝瑁� + Map<String, Object> map = new HashMap<>(); + Map<String, Object> data = new HashMap<>(); + //搴旂敤绫诲瀷 鍥哄畾鍊� + map.put("appName", "collaboration"); + + // 涓昏〃瀛楁鏁版嵁 + Map<String, Object> data2 = new HashMap<>(); + data2.put("formmain_1209", formmain_1209(serviceReimbursementSharedList.get(0))); + + // 鏄庣粏琛ㄥ瓧娈垫暟鎹紝涓庨檮浠剁殑澶勭悊 + Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailShareds); + data2.put("formson_1210", map1.get("formson_1210")); + data2.put("thirdAttachments", map1.get("annexfilesList")); + data2.put("formson_1211", formson_1211(serviceReimbursementpayeeShareds)); + + data.put("data", data2); + //妯℃澘缂栧彿锛岀敱鑷磋繙鏂规彁渚涳紝璇ュ弬鏁板喅瀹氬彂璧峰崗鍚岀郴缁熶腑鍝釜娴佺▼ + data.put("templateCode", "001"); + //鏄惁涓哄緟鍙戯細0:鏂板缓-鍙戦�侊紱1:鏂板缓-淇濆瓨寰呭彂 + data.put("draft", "0"); + //鍗忓悓鏍囬鍖洪檮浠讹紝Long鍨婰ist锛屽�间负闄勪欢鐨処d銆侷d鏄檮浠舵帴鍙e搷搴旂粨鏋滀腑fileUrl瀛楁鐨勫�� + data.put("attachments", null); + //鍗忓悓鍏枃鐨刬d + data.put("relateDoc", "col|123,456;doc|321,654"); + //鏈缃彇妯℃澘璁剧疆鐨勬爣棰� + data.put("subject", "null"); + + map.put("data", data); + String strRes = null; + if (!active.equals("druid")) { + //濡傛灉鏄湰鍦扮幆澧冿紝灏变笉璋冭繖涓簡 + if (serviceReimbursement.getBackflowlevel() == 100L) { + strRes = HttpClientKit.postOpr(rexyurl, map.toString()); + } else { + strRes = HttpClientKit.postOpr(xyurl, map.toString()); + } + } + com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(strRes); + String code = jsonObject.getJSONObject("code").toString(); + if (!code.equals("0")) { + return false; + } + + return true; + } + + private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetailShared> serviceReimbursementdetailSharedList) { + Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); + + List<Map<String, Object>> list = new ArrayList<>(); + List<Map<String, Object>> annexfilesList = new ArrayList<>(); + for (ServiceReimbursementdetailShared reimbursementdetailShared : serviceReimbursementdetailSharedList) { + Map<String, Object> map = new HashMap<>(); + map.put("浜ら�氬伐鍏�", reimbursementdetailShared.getTraffictype()); + map.put("浜ら�氳垂", reimbursementdetailShared.getTrafficexpense()); + map.put("甯傚唴浜ら��", reimbursementdetailShared.getTraffictype2()); + map.put("浣忓璐�", reimbursementdetailShared.getHotelexpense()); + map.put("鏉傝垂", reimbursementdetailShared.getOtherexpense()); + map.put("浼欓璐规姤閿�", reimbursementdetailShared.getFoodexpenses()); + map.put("浼欓璐硅ˉ鍔�", reimbursementdetailShared.getFoodallowance()); + map.put("鍏朵粬璐圭敤", reimbursementdetailShared.getOtherfeeamount()); + map.put("鍏朵粬璐圭敤璇存槑", reimbursementdetailShared.getOtherfeedesc()); + map.put("閲戦鍚堣", null); + map.put("鍑哄樊鏃堕棿璧�", reimbursementdetailShared.getStarttime()); + map.put("鍑哄彂鍦扮偣", reimbursementdetailShared.getDeparture()); + map.put("鍑哄樊鏃堕棿姝�", reimbursementdetailShared.getEndtime()); + map.put("鍑哄樊鐩殑鍦�", reimbursementdetailShared.getDestination()); + map.put("澶╂暟", reimbursementdetailShared.getDays()); + map.put("瀹為檯鎶ラ攢閲戦", null); + map.put("璐㈠姟澶囨敞", reimbursementdetailShared.getRemark()); + map.put("id", reimbursementdetailShared.getRdid()); + map.put("鍑哄樊浜�", reimbursementdetailShared.getPersonname()); + map.put("鍥炰氦閫氬伐鍏�", null); + map.put("浜哄憳绫诲埆", reimbursementdetailShared.getPersontype()); + map.put("浣忓璐规爣鍑�", null); + map.put("浣忓璐规爣鍑嗗悎璁�", reimbursementdetailShared.getHotelexpense()); + String fpuuid = IdUtils.simpleUUID(); + map.put("鍙戠エ闄勪欢", fpuuid); + map.put("绁ㄦ嵁璇嗗埆", null); + map.put("璇嗗埆浜�", null); + map.put("搴忓彿1", null); + String qtuuid = IdUtils.simpleUUID(); + map.put("鍏朵粬闄勪欢", qtuuid); + map.put("涓汉绁ㄥす鐢ㄦ埛", null); + map.put("璇嗗埆绁ㄦ嵁", null); + + list.add(map); + + //闄勪欢澶勭悊 + String annexfiles = reimbursementdetailShared.getAnnexfiles(); + String invoicefiles = reimbursementdetailShared.getInvoicefiles(); + + int i = 0; + if (StringUtils.isNotEmpty(annexfiles)) { + List<RbDetailFile> parseArray = JSON.parseArray(annexfiles, RbDetailFile.class); + for (RbDetailFile rbDetailFile : parseArray) { + Map<String, Object> thirdAttachments = new HashMap<>(); + thirdAttachments.put("subReference", qtuuid); + thirdAttachments.put("fileUrl", rbDetailFile.getFileid()); + thirdAttachments.put("sort", i++); + annexfilesList.add(thirdAttachments); + } + } + + if (StringUtils.isNotEmpty(invoicefiles)) { + List<RbDetailFile> parseArray = JSON.parseArray(invoicefiles, RbDetailFile.class); + for (RbDetailFile rbDetailFile : parseArray) { + Map<String, Object> thirdAttachments = new HashMap<>(); + thirdAttachments.put("subReference", fpuuid); + thirdAttachments.put("fileUrl", rbDetailFile.getFileid()); + thirdAttachments.put("sort", i++); + annexfilesList.add(thirdAttachments); + } + } + + } + allMap.put("formson_1210", list); + allMap.put("annexfilesList", annexfilesList); + return allMap; + } + + private List<Map<String, Object>> formson_1211(List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds) { + Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); + + List<Map<String, Object>> list = new ArrayList<>(); + for (ServiceReimbursementpayeeShared serviceReimbursementpayeeShared : serviceReimbursementpayeeShareds) { + Map<String, Object> map = new HashMap<>(); + + map.put("鏀舵浜�", serviceReimbursementpayeeShared.getPersonname()); + map.put("鍗″彿", serviceReimbursementpayeeShared.getBankcardno()); + map.put("寮�鎴烽摱琛�", serviceReimbursementpayeeShared.getBankname()); + map.put("鎵撴閲戦", serviceReimbursementpayeeShared.getAmount()); + map.put("浜哄憳绫诲埆鎵撴", serviceReimbursementpayeeShared.getPersontype()); + map.put("鏍哥畻椤圭洰", null); + map.put("棰勭畻椤圭洰", null); + map.put("鍊熸柟鎽樿", null); + map.put("璐锋柟鎽樿", null); + list.add(map); + } + return list; + } + + private Map<String, Object> formmain_1209(ServiceReimbursementShared serviceReimbursementShared) { + Map<String, Object> formmain_1209 = new HashMap<>(); + + formmain_1209.put("鎶ラ攢鏃ユ湡", serviceReimbursementShared.getApplyTime()); + formmain_1209.put("鍑哄樊浜�-浣滃簾", null); + formmain_1209.put("鎶ラ攢浜�", serviceReimbursementShared.getUsername()); + formmain_1209.put("鍖哄煙缁勯暱", serviceReimbursementShared.getManagername()); + formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursementShared.getReason()); + formmain_1209.put("澶╂暟鍚堣", null); + formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursementShared.getTotalamount()); + formmain_1209.put("甯傚唴浜ら�氬悎璁�", null); + formmain_1209.put("浣忓璐瑰悎璁�", null); + formmain_1209.put("鏉傝垂鍚堣", null); + formmain_1209.put("浼欓璐规姤閿�鍚堣", null); + formmain_1209.put("浼欓璐硅ˉ鍔╁悎璁�", null); + formmain_1209.put("鍏朵粬璐圭敤鍚堣", null); + formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursementShared.getBigstrmoney()); + formmain_1209.put("棰嗘閲戦", serviceReimbursementShared.getTotalamount()); + formmain_1209.put("璐㈠姟瀹℃壒", serviceReimbursementShared.getFinancechecher()); + formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceReimbursementShared.getFinancedirector()); + formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", serviceReimbursementShared.getOfficedirector()); + formmain_1209.put("澶囨敞", serviceReimbursementShared.getRemark()); + formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursementShared.getBusvicepresident()); + formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursementShared.getFinvicepresident()); + formmain_1209.put("涓績璐熻矗浜哄鎵�", serviceReimbursementShared.getOpochecker()); + formmain_1209.put("寮�鎴烽摱琛�-浣滃簾", null); + formmain_1209.put("鍗″彿-浣滃簾", null); + formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursementShared.getZffs()); + formmain_1209.put("缁勯暱", null); + formmain_1209.put("瀹℃壒浜哄憳", null); + formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursementShared.getRiqi()); + formmain_1209.put("涓婁紶闄勪欢", null); + formmain_1209.put("鎵撴鍚堣", null); + formmain_1209.put("鍙戠エ璇嗗埆-浣滃簾", null); + formmain_1209.put("璇嗗埆浜�-浣滃簾", null); + formmain_1209.put("璐㈠姟瀹℃壒绛惧瓧", null); + formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒绛惧瓧", serviceReimbursementShared.getFinancedirector()); + formmain_1209.put("琛ㄥ崟缂栧彿1", null); + formmain_1209.put("CIF璐﹀閰嶇疆1", null); + formmain_1209.put("闄㈠尯", null); + formmain_1209.put("涓氬姟鍖哄煙", null); + formmain_1209.put("璐锋柟绉戠洰", null); + formmain_1209.put("缂栫爜", null); + formmain_1209.put("鏄惁鏀粯", null); + formmain_1209.put("鍑瘉鍙�", null); + formmain_1209.put("閾惰鍥炲崟", null); + formmain_1209.put("OFD", null); + formmain_1209.put("琛ㄥ崟闄勪欢", null); + formmain_1209.put("10204", null); + formmain_1209.put("鐜伴噾娴侀噺鍒嗘瀽", null); + formmain_1209.put("鎹愮尞鑰�", serviceReimbursementShared.getDonorname()); + formmain_1209.put("鍑瘉绫诲埆", null); + formmain_1209.put("鍚堣", null); + formmain_1209.put("瀹為檯鍚堣", null); + formmain_1209.put("浼欓琛ュ姪鍚堣", null); + formmain_1209.put("鍘嗗彶瀹℃壒璁板綍", null); + formmain_1209.put("琛ㄥ崟缂栧彿", serviceReimbursementShared.getBh()); + formmain_1209.put("鍘嗗彶瀹℃壒宸ㄩ箍鏌ヨ", null); + return formmain_1209; + } + public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception { log.info("uploadOAFileAndUpdate鏂规硶鐨勫叆鍙�:{}", remShare); -- Gitblit v1.9.3