ruoyi-admin/pom.xml
@@ -8,8 +8,8 @@ <version>3.7.0</version> </parent> <modelVersion>4.0.0</modelVersion> <!-- <packaging>war</packaging>--> <packaging>jar</packaging> <packaging>war</packaging> <!-- <packaging>jar</packaging>--> <artifactId>smartor-opo</artifactId> <description> ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -20,7 +20,6 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceFunddetailMapper; import com.ruoyi.project.service.*; import com.ruoyi.system.service.ISysPostService; import com.ruoyi.system.service.ISysUserService; @@ -60,13 +59,7 @@ @Autowired private IServiceFundService serviceFundService; @Autowired private IServiceFundSharedService fundSharedService; @Autowired private ServiceFunddetailMapper serviceFunddetailMapper; @Autowired private IServiceFunddetailService serviceFunddetailService; @Autowired private IServiceFunddetailSharedService funddetailSharedService; @Autowired private IServiceFundflowruleService serviceFundflowruleService; @Autowired @@ -97,6 +90,43 @@ configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); } /** * è´è¿ç³»ç»æµç¨éå * * @param serviceProcessDocVO * @return */ @PostMapping("/backdocument") public AjaxResult backDocument(@RequestBody ServiceProcessDocVO serviceProcessDocVO) { log.info("è´è¿ç³»ç»æµç¨éåå ¥åï¼{}", serviceProcessDocVO); if (serviceProcessDocVO.getBackCode() == null || StringUtils.isEmpty(serviceProcessDocVO.getApplytype())) { return AjaxResult.error("å ¥è½ä¸ºç©º,è¯·æ£æ¥å ¥å!!"); } serviceFundService.backDocument(serviceProcessDocVO); return AjaxResult.success("éåæå"); } /** * è´è¿ç³»ç»æµç¨éåå®¡æ¹æ¥å¿ * * @param serviceProcessVO * @return */ @PostMapping("/processlog") public AjaxResult processlog(@RequestBody ServiceProcessVO serviceProcessVO) { log.info("è´è¿ç³»ç»æµç¨éåå®¡æ¹æ¥å¿å ¥åï¼{}", serviceProcessVO); if (serviceProcessVO.getBackCode() == null || StringUtils.isEmpty(serviceProcessVO.getApplytype())) { return AjaxResult.error("å ¥è½ä¸ºç©º,è¯·æ£æ¥å ¥å!!"); } Boolean processlog = serviceFundService.processlog(serviceProcessVO); if (!processlog) return AjaxResult.error("审æ¹è®°å½å¤±è´¥"); return AjaxResult.success("审æ¹è®°å½æå"); } /** * æ¥è¯¢è´¹ç¨ç³è¯·ä¸»å表 @@ -292,192 +322,13 @@ @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { log.info("serviceFundController---checkFundçå ¥åå¼checkFundVO :{}", checkFundVO); ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid()); if (serviceFund != null) { Integer TotalLevel = 0; LoginUser loginUser = getLoginUser(); ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); serviceFundflowrule.setFundtype(2); serviceFundflowrule.setApplytype(serviceFund.getApplytype()); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); log.info("serviceFundController---checkFund---queryListçå ¥åå¼serviceFundflowrule:{}", serviceFundflowrule); List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { return AjaxResult.error(HttpStatus.ERROR, "å½åäººåæ æ¤è®°å½å®¡æ ¸æé"); Map<String, String> map = serviceFundService.checkFund(checkFundVO,loginUser); Set<String> keys = map.keySet(); for (String s : keys) { if (!s.equals("200")) return AjaxResult.error(map.get(s)); } if (serviceFundflowrules.get(0).getFlowlevel() - 1 != serviceFund.getFlowlevel()) { return AjaxResult.error(HttpStatus.ERROR, "å½å人å䏿¤è®°å½çå®¡æ ¸çº§å«ä¸ç¬¦"); } if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) { TotalLevel = serviceFundflowrules.get(0).getTotallevel(); } Integer CheckFlag = 0; Integer RecordStatus = serviceFund.getRecordstatus(); Integer FlowLevel = serviceFund.getFlowlevel().intValue(); 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; if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) { log.info("è´¢å¡éååæäº¤ï¼åºçº³å次审æ¹ï¼ä¹åæäº¤å°è´¢å¡"); //è¯´ææ¯è´¢å¡éååæäº¤ç.éè¦åºçº³åçä¸éï¼æ²¡é®é¢ä¹åï¼å¾åäº«è¡¨éæ°å¢ // serviceFundService.addFundSharedInfo(serviceFund.getId()); serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); serviceFund.setRecordstatus(99); serviceFund.setUploadStates(1); serviceFundService.updateById(serviceFund); //ä¿åå®¡æ¹æµç¨è¡¨ ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); serviceFundflow.setFundid(serviceFund.getId()); serviceFundflow.setCheckuserno(user.getUserName()); serviceFundflow.setCheckusername(user.getNickName()); serviceFundflow.setFundtype(2); serviceFundflow.setApplytype(serviceFund.getApplytype()); serviceFundflow.setFlowconclusion(CheckFlag); serviceFundflow.setFlowcontent("éè¿"); Boolean aBoolean = serviceFundflowService.saveData(serviceFundflow); return AjaxResult.success(); } //è®°å½ä¸ä¸ï¼ä¸ä¸çº§ç审æ¹ï¼ä»¥ä¾¿äºä¸ä¸çº§éååï¼åèµ·è æäº¤æ¶ï¼è½åæå°å½å审æ¹å±çº§ serviceFund.setBackflowlevel(FlowLevel); } else { CheckFlag = 2; if (CheckFlag == 2) { //åºå»é¢è¦æ±å¦æåºç°éåï¼ç´æ¥éå°åèµ·è FlowLevel = 0; RecordStatus = -1; logger.info("serviceFundè¿æ¥äºåï¼ï¼ï¼ï¼ï¼ï¼ :{},{}", RecordStatus, FlowLevel); System.out.println("serviceFundè¿æ¥äºåï¼ï¼ï¼ï¼ï¼ï¼"); } else { RecordStatus = (FlowLevel + 1) * 2 - 1; FlowLevel = (FlowLevel - 1); if (FlowLevel < 0) { FlowLevel = 0; } } SysUser sysUser = sysUserService.selectUserByUserName(serviceFund.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); } serviceFund.setRecordstatus(RecordStatus); serviceFund.setFlowlevel(FlowLevel.longValue()); // serviceFund.setBackflowlevel(serviceFund.getFlowlevel()); ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); serviceFundflow.setFundid(serviceFund.getId()); serviceFundflow.setCheckuserno(user.getUserName()); serviceFundflow.setCheckusername(user.getNickName()); serviceFundflow.setFundtype(2); serviceFundflow.setApplytype(serviceFund.getApplytype()); serviceFundflow.setFlowconclusion(CheckFlag); if (org.apache.commons.lang.StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); } else { serviceFundflow.setFlowcontent(checkFundVO.getFlowconclusion() == 1 ? "éè¿" : "ä¸éè¿"); } serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); Boolean aBoolean = serviceFundflowService.saveData(serviceFundflow); log.info("sserviceFundä¿åçç弿¯-------- :{}", aBoolean); //053审æ¹éè¿ä¹åï¼å°±éè¦æâåå ¬å®¤ä¸»ä»»âçååå¡«ä¸ if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) { serviceFund.setOfficedirector(user.getNickName()); serviceFund.setUploadStates(1); } System.out.println("serviceFundç弿¯--------:" + serviceFund); log.info("å¼å§æ´æ°çç弿¯--------"); // ServiceFund updateServiceFund = new ServiceFund(); // updateServiceFund.setRecordstatus(serviceFund.getRecordstatus()); // updateServiceFund.setFlowlevel(serviceFund.getFlowlevel()); Boolean aBoolean1 = serviceFundService.updateById(serviceFund); log.info("integeræ´æ°çç弿¯-------- :{}", aBoolean1); ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); serviceSystemmessage.setFundtype(2); serviceSystemmessage.setApplytype(serviceFund.getApplytype()); serviceSystemmessage.setSenduserno(user.getUserName()); serviceSystemmessage.setSendusername(user.getNickName()); serviceSystemmessage.setReceiveuserno(serviceFund.getUserno()); serviceSystemmessage.setReceiveusername(serviceFund.getUsername()); serviceSystemmessage.setUpdateTime(new Date()); serviceSystemmessage.setUpdateBy(user.getNickName()); serviceSystemmessage.setIsread(0); serviceSystemmessage.setMessagetype(1); serviceSystemmessage.setRelevantno(serviceFund.getId()); if (CheckFlag == 1) { //éè¿ if (serviceFund.getApplytype().equals("1")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("2")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç伦çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("3")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çå»å¦ææ¬æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("4")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çåå ¬è´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("5")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç绩æç³è¯·å·²éè¿"); } } else { //驳å if (serviceFund.getApplytype().equals("1")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("2")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç伦çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("3")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çå»å¦ææ¬æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("4")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çåå ¬è´¹ç¨ç³è¯·å·²é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("5")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç绩æç³è¯·å·²é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } } iServiceSystemmessageService.save(serviceSystemmessage); return AjaxResult.success(); } else { return AjaxResult.error(HttpStatus.NO_CONTENT, "è´¹ç¨ç¼å·ä¸æ£ç¡®"); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -85,9 +85,6 @@ @Autowired private ISysPostService postService; @Autowired private IServiceSystemmessageService ServiceSystemmessage; private static Configuration configuration = null; public ServiceReimbursementController() { @@ -379,188 +376,12 @@ @PostMapping("/checkfund") public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { log.info("å®¡æ ¸è´¹ç¨çå ¥å : {}", checkFundVO); ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); log.info("å®¡æ ¸è´¹ç¨çserviceReimbursementService.getByIdè¿å : {}", serviceReimbursement); 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); log.info("å®¡æ ¸è´¹ç¨çserviceFundflowruleService.queryListè¿å : {}", serviceFundflowrules.size()); if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { return AjaxResult.error(HttpStatus.ERROR, "å½åäººåæ æ¤è®°å½å®¡æ ¸æé"); 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)); } 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()); 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; } } if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) { log.info("åºå·®è¡¥è´´è¢« è´¢å¡éååæäº¤ï¼åºçº³å次审æ¹ï¼ä¹åæäº¤å°è´¢å¡:{}", serviceReimbursement.getId()); //è¯´ææ¯è´¢å¡éååæäº¤ç.éè¦åºçº³åçä¸éï¼æ²¡é®é¢ä¹åï¼å¾åäº«è¡¨éæ°å¢ // serviceReimbursementService.addSharedData(serviceReimbursement.getId()); serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); serviceReimbursement.setRecordstatus(99); serviceReimbursement.setUploadStates(1); boolean b = serviceReimbursementService.updateById(serviceReimbursement); log.info("æ¯å¦ä¿®æ¹æå:{}", b); //ä¿åå®¡æ¹æµç¨è¡¨ 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("éè¿"); serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); Boolean aBoolean = serviceFundflowService.save(serviceFundflow); return AjaxResult.success(); } FlowLevel = FlowLevel + 1; serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel)); } else { CheckFlag = 2; if (CheckFlag == 2) { //åºå»é¢è¦æ±å¦æåºç°éåï¼ç´æ¥éå°åèµ·è FlowLevel = 0; RecordStatus = -1; } else { //ä¸é¢æ¯åæ¥çåæ³ï¼ä¸çº§ä¸çº§çå¾ä¸éï¼å»é¢ç°å¨ä¸è¦è¿æ ·æäºï¼ä¸é¢è¿æ®µä»£ç å ä¿çï¼çå»é¢åå¿è½¬æï¼åç»æ¾å¼ 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); } 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.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); //è¿ä¸åæ¾å®æ¶ä»»å¡éå // if (totalLevel == OriginalFlowLevel + 1) { // //æææ°æ®æ°å¢å°å¤ä»½è¡¨ // serviceReimbursementService.addSharedData(checkFundVO.getFundid()); // } } else { //驳å serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "æäº¤çå·®æ æ¥éåç³è¯·è¢«é©³åï¼åå :" + checkFundVO.getFlowcontent() + ""); } ServiceSystemmessage.save(serviceSystemmessage); return AjaxResult.success(); } else { return AjaxResult.error(HttpStatus.NO_CONTENT, "è´¹ç¨ç¼å·ä¸æ£ç¡®"); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -8,6 +8,8 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.core.domain.model.LoginBodyByOpenID; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.ThirdLoginBody; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; @@ -67,6 +69,20 @@ } /** * ç¬¬ä¸æ¹è·åtoken ï¼è¿éçpassword对åºçæ¯sys_user表éçding_user_id * * @param thirdLoginBody * @return */ @PostMapping("/getToken") public AjaxResult openidLogin(@RequestBody ThirdLoginBody thirdLoginBody) { AjaxResult ajax = AjaxResult.success(); String token = loginService.getToken(thirdLoginBody.getUsername(), thirdLoginBody.getPassword()); ajax.put(Constants.TOKEN, token); return ajax; } /** * ç»å½æ¹æ³ * * @param loginBody ç»å½ä¿¡æ¯ ruoyi-admin/src/main/resources/application.yml
@@ -14,9 +14,9 @@ # å¼åç¯å¢ linux # profile: /home/smartor/uploadFile # å»é¢ç¯å¢ profile: E:/OPO/WEB/Upload profile: D:/OPO/WEB/Upload # 彿¡£è·¯å¾ archived: E:/OPO/WEB/archived/ archived: D:/OPO/WEB/archived/ # è·åipå°åå¼å ³ addressEnabled: false # éªè¯ç ç±»å math æ°ç»è®¡ç® char å符éªè¯ @@ -41,7 +41,7 @@ logging: file: # æ¥å¿è·¯å¾ 示ä¾ï¼ Windowsé ç½®D:/ruoyi/logsï¼Linuxé ç½® /home/ruoyi/logs,ä¸å¡«å级ç®å½logsï¼ path: E:/lihu/ls/logs path: D:/lihu/ls/logs level: com.ruoyi: debug org.springframework: warn @@ -53,7 +53,7 @@ # å½é åèµæºæä»¶è·¯å¾ basename: i18n/messages profiles: active: druid active: srm # æä»¶ä¸ä¼ servlet: multipart: @@ -123,6 +123,13 @@ # å¹é 龿¥ urlPatterns: /system/*,/monitor/*,/tool/* # ååæµç¨åèµ·æ¥å£ xyurl: http://{{ip}}:{{port}}/seeyon/rest/bpm/process/start rexyurl: http://{{ip}}:{{port}}/seeyon/rest/bpm/process/restart #ä¸åå交äºçæ°åè½å¼å ³ 1å¼ 2å ³ newSwitch: 2 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -103,7 +103,7 @@ // è¿æ»¤è¯·æ± .authorizeRequests() // 对äºç»å½login 注åregister éªè¯ç captchaImage å 许å¿åè®¿é® .antMatchers("/login","/openidlogin", "/register", "/captchaImage").anonymous() .antMatchers("/login","/openidlogin", "/register", "/captchaImage", "/getToken").anonymous() .antMatchers( HttpMethod.GET, "/", ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -189,6 +189,18 @@ return ajax; } public String getToken(String username, String code) { SysUser sysUser = sysUserMapper.selectUserByDingUserId(code); //æ¥åºæ¥ä¸å¯¹çè¯ï¼å°±è¿ånull if (!sysUser.getUserName().equals(username)) return null; LoginUser loginUser = new LoginUser(); loginUser.setUserId(sysUser.getUserId()); loginUser.setDeptId(sysUser.getDeptId()); loginUser.setUser(sysUser); return tokenService.createToken(loginUser); } /** * è®°å½ç»å½ä¿¡æ¯ * ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonateorgan.java
@@ -77,7 +77,7 @@ * å¨å®è·åæ¶é´ */ @ApiModelProperty("å¨å®è·åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "å¨å®è·åæ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date organgettime; @@ -85,7 +85,7 @@ * é¢è®¡è·åæ¶é´ */ @ApiModelProperty("é¢è®¡è·åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "é¢è®¡è·åæ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date estimatedtime; @@ -135,7 +135,7 @@ * ç§»æ¤æ¶é´ */ @ApiModelProperty("ç§»æ¤æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "ç§»æ¤æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date transplanttime; ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonationwitness.java
@@ -60,7 +60,7 @@ * æ»äº¡æ¶é´ */ @ApiModelProperty("æ»äº¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "æ»äº¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date deathtime; @@ -95,7 +95,7 @@ * ææ¯å¼å§æ¶é´ */ @ApiModelProperty("ææ¯å¼å§æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "ææ¯å¼å§æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date operationbegtime; @@ -103,7 +103,7 @@ * ææ¯ç»ææ¶é´ */ @ApiModelProperty("ææ¯ç»ææ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "ææ¯ç»ææ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date operationendtime; @@ -175,7 +175,7 @@ * è ¹ä¸»å¨èæç®¡æ¶é´ */ @ApiModelProperty("è ¹ä¸»å¨èæç®¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "è ¹ä¸»å¨èæç®¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date abdominalaortacannulatime; @@ -183,7 +183,7 @@ * è ¹ä¸»å¨èçæ³¨æ¶é´ */ @ApiModelProperty("è ¹ä¸»å¨èçæ³¨æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "è ¹ä¸»å¨èçæ³¨æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date abdominalaortaperfusiontime; @@ -191,7 +191,7 @@ * é¨éèæç®¡æ¶é´ */ @ApiModelProperty("é¨éèæç®¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "é¨éèæç®¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date portalveincannulatime; @@ -199,7 +199,7 @@ * é¨éèçæ³¨æ¶é´ */ @ApiModelProperty("é¨éèçæ³¨æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "é¨éèçæ³¨æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date portalveinperfusiontime; @@ -207,7 +207,7 @@ * èºå¨èæç®¡æ¶é´ */ @ApiModelProperty("èºå¨èæç®¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "èºå¨èæç®¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date pulmonaryarterycannulatime; @@ -215,7 +215,7 @@ * èºå¨èçæ³¨æ¶é´ */ @ApiModelProperty("èºå¨èçæ³¨æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "èºå¨èçæ³¨æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date pulmonaryarteryperfusiontime; @@ -223,7 +223,7 @@ * 主å¨èæç®¡æ¶é´ */ @ApiModelProperty("主å¨èæç®¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "主å¨èæç®¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date aortacannulatime; @@ -231,7 +231,7 @@ * 主å¨èçæ³¨æ¶é´ */ @ApiModelProperty("主å¨èçæ³¨æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Excel(name = "主å¨èçæ³¨æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date aortaperfusiontime; @@ -262,6 +262,7 @@ */ @ApiModelProperty("åè°åè¿ææ¯å®¤æ¶é´") @Excel(name = "åè°åè¿ææ¯å®¤æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date coordinatorInOperating; /** @@ -269,6 +270,7 @@ */ @ApiModelProperty("åè°ååºææ¯å®¤æ¶é´") @Excel(name = "åè°ååºææ¯å®¤æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date coordinatorOutOperating; /** @@ -283,6 +285,7 @@ */ @ApiModelProperty("åè°åç¾åæ¶é´") @Excel(name = "åè°åç¾åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date coordinatorSignTime; } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceProcessVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package com.ruoyi.project.domain; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * ç¬¬ä¸æ¹æµç¨éåå ¥åï¼è´è¿å ¬å¸éåçå ¥åï¼ * * @author ruoyi * @date 2022-01-24 */ @Data @ApiModel("ç¬¬ä¸æ¹æµç¨éåå ¥å") public class ServiceProcessVO extends BaseEntity { private static final long serialVersionUID = 1L; /** * éåç±»å 0ï¼å·®æ è´¹ 1ä¸å®¶å³å¡è´¹ 2伦çä¸å®¶å³å¡è´¹ 3å»å¦ææ¬ 4åå ¬è´¹ç¨ 5绩æå®¡æ¹ */ @ApiModelProperty("éåç±»å 0ï¼å·®æ è´¹ 1ä¸å®¶å³å¡è´¹ 2伦çä¸å®¶å³å¡è´¹ 3å»å¦ææ¬ 4åå ¬è´¹ç¨ 5绩æå®¡æ¹") @Excel(name = "éåç±»å 0ï¼å·®æ è´¹ 1ä¸å®¶å³å¡è´¹ 2伦çä¸å®¶å³å¡è´¹ 3å»å¦ææ¬ 4åå ¬è´¹ç¨ 5绩æå®¡æ¹ ") private String applytype; /** * éåç¼å·ï¼ä¸»é®ï¼ */ @ApiModelProperty("éåç¼å·") @Excel(name = "éåç¼å·ï¼ä¸»é®ï¼") private Long backCode; /** * æµç¨å å®¹ï¼æä½åæè§å»ºè®® */ @ApiModelProperty("æµç¨å å®¹ï¼æä½åæè§å»ºè®®") @Excel(name = "æµç¨å å®¹ï¼æä½åæè§å»ºè®®") private String flowcontent; /** * éååå */ @ApiModelProperty("éæµç¨ç»è®º 1ï¼éè¿ï¼2ï¼é©³åï¼ ååå 3:å®ç»") @Excel(name = "æµç¨ç»è®º 1ï¼éè¿ï¼2ï¼é©³åï¼") private Integer flowconclusion; /** * å®¡æ ¸äººç¼å· */ @ApiModelProperty("å®¡æ ¸äººç¼å·") @Excel(name = "å®¡æ ¸äººç¼å·") private String checkuserno; /** * å®¡æ ¸äººå§å */ @ApiModelProperty("å®¡æ ¸äººå§å") @Excel(name = "å®¡æ ¸äººå§å") private String checkusername; @ApiModelProperty("æ ¡éªæ¶é´") @Excel(name = "æ ¡éªæ¶é´") private Date checkTime; } ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceReimbursementSharedMapper.java
@@ -26,4 +26,6 @@ List<ServiceReimbursementShared> getRemShareInfoByRemId(Long RemId); Boolean delResharedInfoById(Long id); Boolean delResharedInfoByReimid(Long reimid); } ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -4,9 +4,11 @@ import java.util.Map; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; /** * è´¹ç¨ç³è¯·ä¸»Serviceæ¥å£ @@ -15,6 +17,15 @@ * @date 2022-01-24 */ public interface IServiceFundService extends IService<ServiceFund> { /** * è´è¿ç³»ç»æµç¨éå * @param serviceProcessVO * @return */ public Boolean backDocument(ServiceProcessDocVO serviceProcessVO); public Boolean processlog(ServiceProcessVO serviceProcessVO); /** * æ¥è¯¢è´¹ç¨ç³è¯·ä¸»å表 @@ -28,6 +39,8 @@ List<ServiceFund> getInfoByInfoId(Long infoid); public Map<String,String> checkFund(CheckFundVO checkFundVO, LoginUser loginUser); Long getFundId(Long infoid); ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundflowruleService.java
@@ -2,7 +2,10 @@ import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.project.domain.ServiceFundflowrule; import com.ruoyi.project.domain.vo.CheckFundVO; import org.springframework.web.bind.annotation.RequestBody; /** * èµé审æ¹è§åServiceæ¥å£ ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementService.java
@@ -1,10 +1,13 @@ package com.ruoyi.project.service; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.model.LoginUser; 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.SpFinancialExpensesReimbursementOut; /** @@ -35,7 +38,6 @@ */ Boolean addSharedData(Long id); List<ServiceReimbursement> selectSearchList(ServiceReimbursementDto serviceReimbursementdto); List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE,Integer CHECKSTATUS,String donorname); @@ -46,4 +48,6 @@ List<ServiceReimbursementEo> getRDInfoByItem(ServiceReimbursementEo serviceReimbursementEo); public Map<String, String> checkFund(LoginUser loginUser, CheckFundVO checkFundVO); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -7,34 +7,44 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.HttpClientKit; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.*; import com.ruoyi.project.service.*; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysUserService; import com.taobao.api.ApiException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.ibatis.annotations.Param; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestBody; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; /** @@ -50,6 +60,21 @@ ServiceFundMapper serviceFundMapper; @Autowired private DingTalkService dingTalkService; @Autowired private IServiceFundflowruleService serviceFundflowruleService; @Autowired private IServiceFundflowService serviceFundflowService; @Autowired private SysUserRoleMapper sysUserRoleMapper; @Autowired SysUserMapper sysUserMapper; @Autowired ServiceFunddetailMapper serviceFunddetailMapper; @Autowired @@ -57,6 +82,21 @@ @Autowired ServiceReimbursementMapper serviceReimbursementMapper; @Autowired ServiceReimbursementSharedMapper serviceReimbursementSharedMapper; @Autowired private IServiceFundflowService fundflowService; @Autowired private ISysUserService sysUserService; @Autowired private IServiceSystemmessageService iServiceSystemmessageService; @Autowired IServiceReimbursementService iServiceReimbursementService; @Autowired IServiceFundSharedService sharedService; @@ -82,6 +122,146 @@ @Autowired private VExpertfeeTotalMapper vExpertfeeTotalMapper; @Value("${xyurl}") private String xyurl; @Value("${rexyurl}") private String rexyurl; @Value("${newSwitch}") private Integer newSwitch; @Value("${spring.profiles.active}") private String active; /** * è´è¿ç³»ç»æµç¨éå * * @param serviceProcessVO * @return */ @Override public Boolean backDocument(ServiceProcessDocVO serviceProcessVO) { String applytype = serviceProcessVO.getApplytype(); if (applytype.equals("0")) { //å·®æ æ¥ééå ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); serviceReimbursement.setId(serviceProcessVO.getBackCode()); List<ServiceReimbursement> serviceReimbursementList = iServiceReimbursementService.queryList(serviceReimbursement); ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0); serviceReimbursement1.setFlowlevel(100L); serviceReimbursement1.setDelFlag(0); serviceReimbursement1.setUploadStates(0); serviceReimbursement1.setBackflowlevel(199L); serviceReimbursement1.setRecordstatus(-1); iServiceReimbursementService.updateById(serviceReimbursement1); //å é¤shareæ°æ® serviceReimbursementSharedMapper.delResharedInfoByReimid(serviceReimbursement1.getId()); } else { //è´¹ç¨ç³è¯·éå ServiceFund serviceFund = new ServiceFund(); serviceFund.setId(serviceProcessVO.getBackCode()); List<ServiceFund> serviceFunds = queryInfoById(serviceFund); ServiceFund serviceFund1 = serviceFunds.get(0); serviceFund1.setFlowlevel(100L); serviceFund1.setDel_flag(0); serviceFund1.setRecordstatus(-1); serviceFund1.setBackflowlevel(199); updateById(serviceFund1); //å é¤shareæ°æ® serviceFundSharedMapper.delfundsharedInfoById(null, serviceFund1.getId()); //è¿ä¸ªæ¶æ¯åéï¼å°±ä¸å¨è¿åäºï¼å¨å®¡æ¹è®°å½çæ¥å£éåï¼å³æ¥å¿æ¥å£ï¼ //sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber()); } return true; } /** * æµç¨å®¡æ¹æ¥å¿ * * @param serviceProcessVO * @return */ @Override public Boolean processlog(ServiceProcessVO serviceProcessVO) { String userNo = null; String userName = null; String phone = null; String applytype = null; Long flowlevel = null; if (serviceProcessVO.getApplytype().equals("0")) { ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); serviceReimbursement.setId(serviceProcessVO.getBackCode()); List<ServiceReimbursement> serviceReimbursementList = iServiceReimbursementService.queryList(serviceReimbursement); if (CollectionUtils.isEmpty(serviceReimbursementList)) { log.error("serviceReimbursementListæ²¡ææ¥å°æ°æ®ï¼{}", serviceProcessVO.getBackCode()); return false; } //è¿å 个å¼ï¼éè¦ç»ä¸é¢ç¨; applytypeï¼ä¸è½ç¨ä¼ è¿æ¥çï¼åªè½èªå·±æ¥ userNo = serviceReimbursementList.get(0).getUserno(); userName = serviceReimbursementList.get(0).getUsername(); phone = serviceReimbursementList.get(0).getPhone(); flowlevel = serviceReimbursementList.get(0).getFlowlevel(); applytype = "0"; } else { ServiceFund serviceFund = new ServiceFund(); serviceFund.setId(serviceProcessVO.getBackCode()); List<ServiceFund> serviceFunds = queryInfoById(serviceFund); if (CollectionUtils.isEmpty(serviceFunds)) { log.error("serviceFundsæ²¡ææ¥å°æ°æ®ï¼{}", serviceProcessVO.getBackCode()); return false; } userNo = serviceFunds.get(0).getUserno(); userName = serviceFunds.get(0).getUsername(); phone = serviceFunds.get(0).getPhone(); flowlevel = serviceFunds.get(0).getFlowlevel(); applytype = serviceFunds.get(0).getApplytype(); } //å°æä½ä¿åå°fundflowè¡¨ä¸ ServiceFundflow serviceFundflow = new ServiceFundflow(); serviceFundflow.setCreateBy("admin"); serviceFundflow.setCreateTime(new Date()); serviceFundflow.setUpdateBy("admin"); serviceFundflow.setUpdateTime(new Date()); serviceFundflow.setCheckusername(serviceProcessVO.getCheckusername()); serviceFundflow.setFlowcontent(serviceProcessVO.getFlowcontent()); serviceFundflow.setFlowconclusion(1); serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(flowlevel.intValue()); if (serviceProcessVO.getFlowconclusion() == 3) serviceFundflow.setFlowlevel(999); serviceFundflow.setApplytype(applytype); serviceFundflow.setFundid(serviceProcessVO.getBackCode()); serviceFundflow.setCheckTime(serviceProcessVO.getCheckTime()); fundflowService.save(serviceFundflow); SysUser sysUser = sysUserService.selectUserByUserName(userNo); sendMeg(serviceProcessVO, phone); //åéä¿¡æ¯ä¿å ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); serviceSystemmessage.setFundtype(1); serviceSystemmessage.setSenduserno(sysUser.getUserName()); serviceSystemmessage.setSendusername(sysUser.getNickName()); serviceSystemmessage.setReceiveuserno(userNo); serviceSystemmessage.setReceiveusername(userName); serviceSystemmessage.setUpdateTime(new Date()); serviceSystemmessage.setUpdateBy(sysUser.getNickName()); serviceSystemmessage.setIsread(0); serviceSystemmessage.setMessagetype(1); serviceSystemmessage.setMessagetitle("è´¢å¡ç³»ç»ä¿¡æ¯"); serviceSystemmessage.setMessagecontent(serviceProcessVO.getFlowcontent()); iServiceSystemmessageService.save(serviceSystemmessage); return true; } /** * æ¥è¯¢è´¹ç¨ç³è¯·ä¸»å表(å å«å é¤ç) @@ -153,6 +333,392 @@ return serviceFundMapper.getInfoByInfoId(infoid); } @Override public Map<String, String> checkFund(CheckFundVO checkFundVO, LoginUser loginUser) { ServiceFund serviceFund = getById(checkFundVO.getFundid()); Map<String, String> map = new HashMap<>(); if (serviceFund == null) { map.put(HttpStatus.NO_CONTENT + "", "è´¹ç¨ç¼å·ä¸æ£ç¡®"); return map; } Integer TotalLevel = 0; ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); serviceFundflowrule.setFundtype(2); serviceFundflowrule.setApplytype(serviceFund.getApplytype()); serviceFundflowrule.setCheckuserno(loginUser.getUsername()); log.info("serviceFundController---checkFund---queryListçå ¥åå¼serviceFundflowrule:{}", serviceFundflowrule); List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule); if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) { map.put(HttpStatus.ERROR + "", "å½åäººåæ æ¤è®°å½å®¡æ ¸æé"); return map; } if (serviceFundflowrules.get(0).getFlowlevel() - 1 != serviceFund.getFlowlevel()) { map.put(HttpStatus.ERROR + "", "å½å人å䏿¤è®°å½çå®¡æ ¸çº§å«ä¸ç¬¦"); return map; } if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) { TotalLevel = serviceFundflowrules.get(0).getTotallevel(); } Integer CheckFlag = 0; Integer RecordStatus = serviceFund.getRecordstatus(); Integer FlowLevel = serviceFund.getFlowlevel().intValue(); 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; SysUser user = loginUser.getUser(); if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) { log.info("è´¢å¡éååæäº¤ï¼åºçº³å次审æ¹ï¼ä¹åæäº¤å°è´¢å¡"); serviceFund.setFinancechecher("审æ¹äººï¼" + user.getUserName() + " & å®¡æ¹æ¶é´" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 审æ¹ç»æï¼éè¿"); serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); serviceFund.setRecordstatus(99); serviceFund.setUploadStates(1); updateById(serviceFund); //æ°æ®åé Boolean aBoolean1 = null; if (newSwitch == 1) { aBoolean1 = sendData(serviceFund); if (!aBoolean1) { map.put("500", "åé失败"); return map; } } //ä¿åå®¡æ¹æµç¨è¡¨ ServiceFundflow serviceFundflow = new ServiceFundflow(); serviceFundflow.setFundid(serviceFund.getId()); serviceFundflow.setCheckuserno(user.getUserName()); serviceFundflow.setCheckusername(user.getNickName()); serviceFundflow.setFundtype(2); serviceFundflow.setApplytype(serviceFund.getApplytype()); serviceFundflow.setFlowconclusion(CheckFlag); serviceFundflow.setFlowcontent("éè¿"); Boolean aBoolean = serviceFundflowService.saveData(serviceFundflow); map.put("200", "success"); return map; } //妿å½åç»éæ¯è´¢å¡ï¼åè¿è¡è®°å½ List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId()); if (roleIds != null && roleIds.contains(11)) { //11ä¸ºè´¢å¡ serviceFund.setFinancechecher("审æ¹äººï¼" + user.getUserName() + " & å®¡æ¹æ¶é´" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 审æ¹ç»æï¼éè¿"); } //è®°å½ä¸ä¸ï¼ä¸ä¸çº§ç审æ¹ï¼ä»¥ä¾¿äºä¸ä¸çº§éååï¼åèµ·è æäº¤æ¶ï¼è½åæå°å½å审æ¹å±çº§ serviceFund.setBackflowlevel(FlowLevel); } else { CheckFlag = 2; if (CheckFlag == 2) { //åºå»é¢è¦æ±å¦æåºç°éåï¼ç´æ¥éå°åèµ·è FlowLevel = 0; RecordStatus = -1; log.info("serviceFundè¿æ¥äºåï¼ï¼ï¼ï¼ï¼ï¼ :{},{}", RecordStatus, FlowLevel); System.out.println("serviceFundè¿æ¥äºåï¼ï¼ï¼ï¼ï¼ï¼"); } else { RecordStatus = (FlowLevel + 1) * 2 - 1; FlowLevel = (FlowLevel - 1); if (FlowLevel < 0) { FlowLevel = 0; } } SysUser sysUser = sysUserService.selectUserByUserName(serviceFund.getUserno()); ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); ConcurrentHashMap cmap = new ConcurrentHashMap(); cmap.put("审æ¹äººï¼", loginUser.getUser().getUserName()); cmap.put("å®¡æ¹æ¶é´ï¼", new Date()); cmap.put("æè§ï¼", "ä¸éè¿"); if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) cmap.put("æè§ï¼", checkFundVO.getFlowcontent()); contentList.add(cmap); DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); dingTalkReqVo.setTitle("è´¢å¡ç³»ç»é©³åä¿¡æ¯"); dingTalkReqVo.setNumber(sysUser.getPhonenumber()); dingTalkReqVo.setContents(contentList); dingTalkService.sendNotification(dingTalkReqVo); } serviceFund.setRecordstatus(RecordStatus); serviceFund.setFlowlevel(FlowLevel.longValue()); // serviceFund.setBackflowlevel(serviceFund.getFlowlevel()); ServiceFundflow serviceFundflow = new ServiceFundflow(); SysUser user = loginUser.getUser(); serviceFundflow.setFundid(serviceFund.getId()); serviceFundflow.setCheckuserno(user.getUserName()); serviceFundflow.setCheckusername(user.getNickName()); serviceFundflow.setFundtype(2); serviceFundflow.setApplytype(serviceFund.getApplytype()); serviceFundflow.setFlowconclusion(CheckFlag); if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); } else { serviceFundflow.setFlowcontent(checkFundVO.getFlowconclusion() == 1 ? "éè¿" : "ä¸éè¿"); } serviceFundflow.setFlowlevel(OriginalFlowLevel + 1); Boolean aBoolean = serviceFundflowService.saveData(serviceFundflow); log.info("sserviceFundä¿åçç弿¯-------- :{}", aBoolean); //053审æ¹éè¿ä¹åï¼å°±éè¦æâåå ¬å®¤ä¸»ä»»âçååå¡«ä¸ if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) { serviceFund.setOfficedirector(user.getNickName()); serviceFund.setUploadStates(1); //æ°æ®åé Boolean aBoolean1 = null; if (newSwitch == 1) { //æä¸ä¸ªå¼å ³ï¼å«å½±åèæµç¨ aBoolean1 = sendData(serviceFund); if (!aBoolean1) { map.put("500", "åé失败"); return map; } } } System.out.println("serviceFundç弿¯--------:" + serviceFund); log.info("å¼å§æ´æ°çç弿¯--------"); Boolean aBoolean1 = updateById(serviceFund); log.info("integeræ´æ°çç弿¯-------- :{}", aBoolean1); ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); serviceSystemmessage.setFundtype(2); serviceSystemmessage.setApplytype(serviceFund.getApplytype()); serviceSystemmessage.setSenduserno(user.getUserName()); serviceSystemmessage.setSendusername(user.getNickName()); serviceSystemmessage.setReceiveuserno(serviceFund.getUserno()); serviceSystemmessage.setReceiveusername(serviceFund.getUsername()); serviceSystemmessage.setUpdateTime(new Date()); serviceSystemmessage.setUpdateBy(user.getNickName()); serviceSystemmessage.setIsread(0); serviceSystemmessage.setMessagetype(1); serviceSystemmessage.setRelevantno(serviceFund.getId()); if (CheckFlag == 1) { //éè¿ if (serviceFund.getApplytype().equals("1")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("2")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç伦çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("3")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çå»å¦ææ¬æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("4")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çåå ¬è´¹ç¨ç³è¯·å·²éè¿"); } else if (serviceFund.getApplytype().equals("5")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸éè¿"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç绩æç³è¯·å·²éè¿"); } } else { //驳å if (serviceFund.getApplytype().equals("1")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("2")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç伦çä¸å®¶å³å¡è´¹æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("3")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çå»å¦ææ¬æç®æ¡ä¾ã" + serviceFund.getDonorname() + "ãçè´¹ç¨ç³è¯·å·²è¢«é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("4")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤çåå ¬è´¹ç¨ç³è¯·å·²é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } else if (serviceFund.getApplytype().equals("5")) { serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "çº§å®¡æ ¸é©³å"); serviceSystemmessage.setMessagecontent("æ¨" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "æäº¤ç绩æç³è¯·å·²é©³åï¼åå : " + checkFundVO.getFlowcontent() + ""); } } iServiceSystemmessageService.save(serviceSystemmessage); map.put("200", "success"); return map; } public Boolean sendData(ServiceFund serviceFund) { // fundåfunddetailçæ°æ®è·å addFundSharedInfo(serviceFund.getId()); List<ServiceFundShared> fundShareInfos = serviceFundSharedMapper.getFundShareInfoById(serviceFund.getId()); if (CollectionUtils.isEmpty(fundShareInfos)) return false; log.info("fundShareInfosçæ°æ®é为ï¼{}", fundShareInfos.size()); ServiceFunddetailShared serviceFunddetailShared = new ServiceFunddetailShared(); serviceFunddetailShared.setFundid(fundShareInfos.get(0).getId()); List<ServiceFunddetailShared> serviceFunddetailShareds = detailSharedService.queryList(serviceFunddetailShared); // æ°æ®çå°è£ 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_0831", getformmain_0831(fundShareInfos.get(0))); // æç»è¡¨åæ®µæ°æ®ï¼ä¸éä»¶çå¤ç Map<String, List<Map<String, Object>>> map1 = formson_0832(serviceFunddetailShareds); data2.put("formson_0832", map1.get("formson_0832")); data2.put("thirdAttachments", map1.get("annexfilesList")); data.put("data", data2); //模æ¿ç¼å·ï¼ç±è´è¿æ¹æä¾ï¼è¯¥åæ°å³å®åèµ·ååç³»ç»ä¸åªä¸ªæµç¨ data.put("templateCode", "001"); //æ¯å¦ä¸ºå¾ åï¼0:æ°å»º-åéï¼1:æ°å»º-ä¿åå¾ å data.put("draft", "0"); //ååæ é¢åºéä»¶ï¼LongåListï¼å¼ä¸ºéä»¶çIdãIdæ¯éä»¶æ¥å£ååºç»æä¸fileUrlåæ®µçå¼ data.put("attachments", null); //ååå ¬æçid 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 (serviceFund.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_0832(List<ServiceFunddetailShared> serviceFunddetailSharedList) { Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> annexfilesList = new ArrayList<>(); for (ServiceFunddetailShared serviceFunddetailShared : serviceFunddetailSharedList) { Map<String, Object> map = new HashMap<>(); map.put("åºå·1", serviceFunddetailShared.getOrderno()); map.put("è´¹ç¨é¡¹ç®", serviceFunddetailShared.getItemname()); map.put("ç¨åéé¢", serviceFunddetailShared.getAmount()); map.put("弿·é¶è¡", serviceFunddetailShared.getDepositbank()); map.put("å¡å·", serviceFunddetailShared.getBankcardno()); map.put("æ¶çäººå®¶å±æä¸å®¶", serviceFunddetailShared.getBeneficiaryname()); map.put("ç¨åéé¢", serviceFunddetailShared.getTaxamount()); map.put("ä½åºæç»éé¢", null); String fpuuid = IdUtils.simpleUUID(); map.put("å票éä»¶", fpuuid); map.put("å票è¯å«", null); map.put("è¯å«äºº", null); map.put("ç¨é¢", null); String qtuuid = IdUtils.simpleUUID(); map.put("å ¶ä»éä»¶", qtuuid); map.put("项ç®ç¼ç ", serviceFunddetailShared.getItemcode()); map.put("é¢ç®é¡¹ç®", null); map.put("è´·æ¹ç§ç®", null); map.put("åæ¹æè¦", null); map.put("è´·æ¹æè¦", null); map.put("è¯å«å¤æ³¨", null); map.put("è´¹ç¨è¯´æ", null); list.add(map); //éä»¶å¤ç String annexfiles = serviceFunddetailShared.getAnnexfiles(); String invoicefiles = serviceFunddetailShared.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_0832", list); allMap.put("annexfilesList", annexfilesList); return allMap; } private Map<String, Object> getformmain_0831(ServiceFundShared serviceFundShared) { Map<String, Object> formmain_0831 = new HashMap<>(); formmain_0831.put("æç®è å§å", serviceFundShared.getDonorname()); formmain_0831.put("æ¥é人å", serviceFundShared.getUsername()); formmain_0831.put("ä¸å¡åºå", serviceFundShared.getDeptmentname()); formmain_0831.put("ç»æäºº", serviceFundShared.getUsername()); formmain_0831.put("填表æ¶é´", serviceFundShared.getApplyTime()); formmain_0831.put("æ¥ééé¢å计", serviceFundShared.getPretaxcost()); formmain_0831.put("ä¸ä¼ éä»¶", null); formmain_0831.put("夿³¨", null); formmain_0831.put("è´¢å¡å®¡æ¹", serviceFundShared.getFinancechecher()); formmain_0831.put("è´¢å¡é¨è´è´£äººå®¡æ¹", serviceFundShared.getFinancedirector()); formmain_0831.put("åå ¬å®¤ä¸»ä»»å®¡æ¹", serviceFundShared.getOfficedirector()); formmain_0831.put("ä¸å¡å¯é¢é¿å®¡æ¹", serviceFundShared.getBusvicepresident()); formmain_0831.put("è´¢å¡å¯é¢é¿å®¡æ¹", serviceFundShared.getFinvicepresident()); formmain_0831.put("ä¸å¿è´è´£äººå®¡æ¹", serviceFundShared.getOpochecker()); formmain_0831.put("æ¯ä»æ¹å¼", serviceFundShared.getZffs()); formmain_0831.put("ç»é¿", null); formmain_0831.put("审æ¹äººå", null); formmain_0831.put("æ¯ä»æ¥æ", serviceFundShared.getRiqi()); formmain_0831.put("è¯å«äºº-ä½åº", null); formmain_0831.put("è´¢å¡å®¡æ¹ç¾å", serviceFundShared.getFinancedirector()); formmain_0831.put("è´¢å¡é¨è´è´£äººç¾å", serviceFundShared.getFinancedirector()); formmain_0831.put("表达类å", null); formmain_0831.put("ç¨åéé¢å计", serviceFundShared.getPretaxcost()); formmain_0831.put("ç¨é¢å计", serviceFundShared.getPretaxcost() - serviceFundShared.getTaxedcost()); formmain_0831.put("表åç¼å·1", null); formmain_0831.put("ç¼ç ", null); formmain_0831.put("CIFè´¦å¥é ç½®1", null); formmain_0831.put(" é¢åº", null); formmain_0831.put("æ¯å¦æ¯ä»", serviceFundShared.getIsdistribute()); formmain_0831.put("åè¯å·", null); formmain_0831.put("é¶è¡åå", null); formmain_0831.put("OFD", null); formmain_0831.put("表åéä»¶", null); formmain_0831.put("ç°éæµéåæ", null); formmain_0831.put("åè¯ç±»å«", null); formmain_0831.put("ç¨åéé¢å计", serviceFundShared.getTaxedcost()); formmain_0831.put("åå²å®¡æ¹è®°å½", null); formmain_0831.put("表åç¼å·", serviceFundShared.getBh()); formmain_0831.put("åå²å®¡æ¹åæ¥è¯¢", null); return formmain_0831; } @Override public Long getFundId(Long infoid) { @@ -192,7 +758,7 @@ serviceFunddetailShareds.get(i).setId(null); //æ°æ®åéç»è´¢å¡ try { uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i)); if (!active.equals("druid")) uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i)); } catch (Exception e) { e.printStackTrace(); log.error("Exceptionä¸å ¥åçID为ï¼{},å¼å¸¸ä¿¡æ¯ä¸º ï¼ {}", id, e.getMessage()); @@ -964,9 +1530,7 @@ int uploadOAFileAndUpdateDb(ServiceFunddetailShared remShare) throws Exception { //ä¸ä¼ 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"); @@ -1046,98 +1610,6 @@ return 0; } // int uploadOAFileAndUpdateDb(ServiceFundShared remShare) { // //ä¸ä¼ OAæä»¶ // //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3"; // String strUrl = "http://129.88.242.39:8899/seeyon/rest/token"; // //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token"; // //ä¸ä¼ æä»¶æååï¼å»æ´æ°ç¸å ³çæ°æ®åº // // // Map<String, Object> map = new HashMap<String, Object>(); // map.put("userName", "opo"); // map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5"); // map.put("loginName", "demo3"); // // JSONObject jsonObj = new JSONObject(map); // // System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString()); // String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());// // //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//å¾å°è¿åçtoken? // // JSONObject json1 = JSONObject.parseObject(strRes); // strRes = json1.get("id").toString(); // // ///if(strRes.isEmpty() || "" == strRes) return -1;// 为空代表失败 // // //ä¸é¢éæ±è°ç¨æä»¶çæ¥å£ï¼è°ç¨æåè¿ååï¼å¾å°filenameåfileid ç¨è¿äºä¸ªå¼å»æ´æ°æ°æ® // // String filePath = RuoYiConfig.getUploadPath(); // String strMutfileUrl = remShare.getAnnexbankcard();//å¯è½åå¨å¤ä¸ªå°åï¼ä»¥,åå¼ // // String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes; // //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes; // //strFUrl = String.format(strFUrl, strRes); // // /*File test = null; // File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17"); // if (file.exists() && file.isDirectory()) { // // è·åææç²çæä»¶å¤¹ // File[] ones = file.listFiles(); // for (File one : ones) { // test = one; // } // }*/ // // String filename = ""; // String fileid = ""; // // String[] urlArray = strMutfileUrl.split(","); // for (int i = 0; i < urlArray.length; i++) { // String strOneFileName = urlArray[i]; // String strTemp = strOneFileName.substring(15); // String strFile = filePath + strTemp; // //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName); // String struploadResult = ""; // File filetest = new File(strFile); // try { // struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); // } catch (Exception e) { // e.printStackTrace(); // } // // // //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj); // if (struploadResult == null) return 0; // if (struploadResult.isEmpty()) return 0; // // JSONObject jsonR = JSONObject.parseObject(struploadResult); // // JSONArray jsonArr = jsonR.getJSONArray("atts"); // for (int j = 0; j < jsonArr.size(); j++) { // JSONObject jsonRet = jsonArr.getJSONObject(j); // String name1 = jsonRet.get("filename").toString(); // String id1 = jsonRet.get("fileUrl").toString(); // filename += name1; // fileid += id1; // if (i != urlArray.length - 1) { // filename += ","; // fileid += ","; // } // } // // } // // long nId = remShare.getId(); // remShare.setId(nId); // remShare.setFilename(filename); // remShare.setFileid(fileid); // boolean bRet = sharedService.updateById(remShare); // if (!bRet) return -1; // // return 0; // } public long saveFund(ServiceFundVO serviceFundVO) { Long id = null; //å°æ°æ®ä¿åå°fund表 @@ -1201,4 +1673,37 @@ boolean b = serviceFunddetailMapper.updateTaxTime(serviceFunddetail); return b; } public void sendMeg(ServiceProcessVO serviceProcessVO, String phone) { //è®°å½æä½è®°å½ ServiceFundflow serviceFundflow = new ServiceFundflow(); serviceFundflow.setCreateBy(serviceProcessVO.getCheckusername()); serviceFundflow.setUpdateBy(serviceProcessVO.getCheckusername()); serviceFundflow.setCheckusername(serviceProcessVO.getCheckusername()); serviceFundflow.setCreateTime(new Date()); serviceFundflow.setUpdateTime(new Date()); serviceFundflow.setFlowcontent(serviceProcessVO.getFlowcontent()); serviceFundflow.setFlowconclusion(serviceProcessVO.getFlowconclusion()); if (serviceProcessVO.getApplytype() == "0") serviceFundflow.setFundtype(1); if (serviceProcessVO.getApplytype() == "1") serviceFundflow.setFundtype(2); serviceFundflow.setFlowlevel(100); serviceFundflow.setApplytype(serviceProcessVO.getApplytype()); serviceFundflow.setFundid(serviceProcessVO.getBackCode()); fundflowService.save(serviceFundflow); ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); ConcurrentHashMap map = new ConcurrentHashMap(); map.put("审æ¹äººï¼", serviceProcessVO.getCheckusername()); map.put("å®¡æ¹æ¶é´ï¼", serviceProcessVO.getCheckTime()); map.put("æè§ï¼", serviceProcessVO.getFlowcontent()); contentList.add(map); DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); dingTalkReqVo.setTitle("è´¢å¡ç³»ç»ä¿¡æ¯"); dingTalkReqVo.setNumber(phone); dingTalkReqVo.setContents(contentList); log.info("ééåéæ¶æ¯:{}", dingTalkReqVo); dingTalkService.sendNotification(dingTalkReqVo); } } 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); //å°serviceReimbursementdetail表éçidèµå¼ç»Rdid; å°serviceReimbursementSharedéçIDèµå¼ç»RBID,å¹¶å°serviceReimbursementdetailShared表éçid置空ï¼ç±æ°æ®åºéæ°çæ 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ä¸reimShareçå ¥åid为ï¼{}", 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("å®¡æ ¸è´¹ç¨çserviceReimbursementService.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("å®¡æ ¸è´¹ç¨çserviceFundflowruleService.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 { //ä¸é¢æ¯åæ¥çåæ³ï¼ä¸çº§ä¸çº§çå¾ä¸éï¼å»é¢ç°å¨ä¸è¦è¿æ ·æäºï¼ä¸é¢è¿æ®µä»£ç å ä¿çï¼çå»é¢åå¿è½¬æï¼åç»æ¾å¼ 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åfunddetailçæ°æ®è·å 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åListï¼å¼ä¸ºéä»¶çIdãIdæ¯éä»¶æ¥å£ååºç»æä¸fileUrlåæ®µçå¼ data.put("attachments", null); //ååå ¬æçid 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("è´¢å¡é¨è´è´£äººå®¡æ¹", 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("è´¢å¡é¨è´è´£äººå®¡æ¹ç¾å", 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); ruoyi-project/src/main/resources/mapper/project/ServiceFundSharedMapper.xml
@@ -122,7 +122,7 @@ riqi, bh, checkstatus, applytime, apply_time, performancetype from service_fund_shared </sql> @@ -130,7 +130,7 @@ <select id="getFundShareInfoById" resultType="com.ruoyi.project.domain.ServiceFundShared" resultMap="ServiceFundSharedResult"> <include refid="selectServiceFundSharedVo"/> where serfunid = #{fundid} where serfunid = #{fundid} and del_flag=0 </select> <select id="selectServiceFundSharedList" parameterType="ServiceFundShared" resultMap="ServiceFundSharedResult"> ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementSharedMapper.xml
@@ -205,5 +205,12 @@ WHERE id = #{id} and del_flag != 1 </update> <update id="delResharedInfoByReimid"> UPDATE service_reimbursement_shared SET del_flag = 1, update_time = sysdate() WHERE reimid = #{reimid} and del_flag != 1 </update> </mapper> ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
@@ -38,6 +38,14 @@ public int countUserRoleByRoleId(Long roleId); /** * éè¿userIdè·åç¨æ·è§è²ID * * @param userId * @return */ public List<Integer> getUserRoleByUserId(Long userId); /** * æ¹éæ°å¢ç¨æ·è§è²ä¿¡æ¯ * * @param userRoleList ç¨æ·è§è²å表 ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
@@ -17,6 +17,10 @@ select count(1) from sys_user_role where role_id=#{roleId} </select> <select id="getUserRoleByUserId" resultType="Integer"> select role_id from sys_user_role where user_id=#{userId} </select> <delete id="deleteUserRole" parameterType="Long"> delete from sys_user_role where user_id in <foreach collection="array" item="userId" open="(" separator="," close=")">