| | |
| | | @Autowired |
| | | private IServiceFundService serviceFundService; |
| | | @Autowired |
| | | private IServiceFundSharedService serviceFundSharedService; |
| | | @Autowired |
| | | private IServiceFunddetailService serviceFunddetailService; |
| | | @Autowired |
| | | private IServiceFundflowruleService serviceFundflowruleService; |
| | | @Autowired |
| | | private IServiceFundflowService serviceFundflowService; |
| | | |
| | | @Autowired |
| | | private IServiceDonatebaseinfoService serviceDonatebaseinfoService; |
| | | |
| | |
| | | private IServiceReimbursementService serviceReimbursementService; |
| | | |
| | | @Autowired |
| | | private IServiceSystemmessageService iServiceSystemmessageService; |
| | | |
| | | @Autowired |
| | | private IServiceExternalpersonService externalpersonService; |
| | | |
| | | @Autowired |
| | | private ISysPostService postService; |
| | | |
| | | |
| | | @Autowired |
| | | private DingTalkService dingTalkService; |
| | | |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | public ServiceFundController() { |
| | | configuration = new Configuration(); |
| | |
| | | @PostMapping("/processlog") |
| | | public AjaxResult processlog(@RequestBody ServiceProcessVO serviceProcessVO) { |
| | | log.info("致远系统流程退回审批日志入参:{}", serviceProcessVO); |
| | | if (serviceProcessVO.getBackCode() == null || StringUtils.isEmpty(serviceProcessVO.getApplytype())) { |
| | | if (serviceProcessVO.getBackCode() == null && StringUtils.isEmpty(serviceProcessVO.getApplytype())) { |
| | | return AjaxResult.error("入能为空,请检查入参!!"); |
| | | } |
| | | |
| | | Boolean processlog = serviceFundService.processlog(serviceProcessVO); |
| | | if (!processlog) return AjaxResult.error("审批记录失败"); |
| | | return AjaxResult.success("审批记录成功"); |
| | | } |
| | | |
| | | /** |
| | | * 修改编号与支付方式 |
| | | * |
| | | * @param serviceCodeAndPyaWay |
| | | * @return |
| | | */ |
| | | @PostMapping("/updatecodepayway") |
| | | public AjaxResult updatecodepay(@RequestBody ServiceCodeAndPyaWay serviceCodeAndPyaWay) { |
| | | log.info("致远系统编号与支付方式入参:{}", serviceCodeAndPyaWay); |
| | | if (StringUtils.isEmpty(serviceCodeAndPyaWay.getApplytype()) || StringUtils.isEmpty(serviceCodeAndPyaWay.getBh()) || StringUtils.isEmpty(serviceCodeAndPyaWay.getZffs())) { |
| | | return AjaxResult.error("入能为空,请检查入参!!"); |
| | | } |
| | | |
| | | Boolean result = serviceFundService.updatecodepay(serviceCodeAndPyaWay); |
| | | if (!result) return AjaxResult.error("修改失败"); |
| | | |
| | | return AjaxResult.success("修改成功"); |
| | | } |
| | | |
| | | |
| | |
| | | Collections.sort(list, new Comparator<SpFinancialExpensesFundOut>() { |
| | | @Override |
| | | public int compare(SpFinancialExpensesFundOut o1, SpFinancialExpensesFundOut o2) { |
| | | return o1.getApplyTime().compareTo(o2.getApplyTime()); |
| | | return o2.getApplyTime().compareTo(o1.getApplyTime()); |
| | | } |
| | | }); |
| | | return getCustomDataTable(list, pageNum, pageSize); |
| | |
| | | return AjaxResult.success(serviceFundService.addOrUpdateNew(serviceFundVO)); |
| | | } |
| | | |
| | | /** |
| | | * 专家劳务费:保存前的费用控制校验(干跑,不落库) |
| | | * |
| | | * <p>供专家劳务费填报页在点“保存”前调用,把 9 条规则的校验结果 |
| | | * (errors 阻断 / warnings 提示)返回前端展示;真正的落库拦截在 addOrUpdateNew 中。 |
| | | */ |
| | | @ApiOperation("专家劳务费保存前校验") |
| | | @PostMapping("/validateExpertFee") |
| | | public AjaxResult validateExpertFee(@RequestBody ServiceFundVO serviceFundVO) { |
| | | ExpertFeeCheckResult result = serviceFundService.validateExpertFee(serviceFundVO); |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | ajaxResult.put("errors", result.getErrors()); |
| | | ajaxResult.put("warnings", result.getWarnings()); |
| | | ajaxResult.put("blocked", result.hasError()); |
| | | return ajaxResult; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 审核费用 |
| | |
| | | public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { |
| | | log.info("serviceFundController---checkFund的入参值checkFundVO :{}", checkFundVO); |
| | | LoginUser loginUser = getLoginUser(); |
| | | Map<String, String> map = serviceFundService.checkFund(checkFundVO,loginUser); |
| | | 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)); |
| | |
| | | } |
| | | String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis()); |
| | | |
| | | String name = "专家劳务费发放申请单_" + dataMap.get("XM") + "_" + newTime; |
| | | String newName = null; |
| | | if (Objects.isNull(dataMap.get("XM"))) { |
| | | newName = dataMap.get("XM").toString().trim(); |
| | | } |
| | | String name = "专家劳务费发放申请单_" + newName + "_" + newTime; |
| | | if (dataLW.equals("4")) { |
| | | name = "办公费用申请单_" + dataMap.get("XM") + "_" + newTime; |
| | | name = "办公费用申请单_" + newName + "_" + newTime; |
| | | } |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | } |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | log.error("FileNotFoundException报错信息是:{}", e1.getMessage()); |
| | | // e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | log.error("TemplateException报错信自是:{}", e.getMessage()); |
| | | e.getMessage(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |
| | |
| | | |
| | | //输出文档路径及名称 |
| | | File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc"); |
| | | Writer out = null; |
| | | |
| | | try { |
| | | out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8")); |
| | | |
| | | } catch (FileNotFoundException e1) { |
| | | e1.printStackTrace(); |
| | | if (t == null) { |
| | | throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT); |
| | | } |
| | | try { |
| | | |
| | | // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整 |
| | | try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) { |
| | | t.process(dataMap, out); |
| | | } catch (TemplateException e) { |
| | | e.printStackTrace(); |
| | | } catch (TemplateException | IOException e) { |
| | | log.error("生成模板文档失败, name={}", name, e); |
| | | throw new ServiceException("生成文档失败", HttpStatus.ERROR); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc"); |