| | |
| | | package com.ruoyi.quartz.task; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.bean.DtoConversionUtils; |
| | | import com.ruoyi.project.domain.*; |
| | | import com.ruoyi.project.domain.vo.DingTalkReqVo; |
| | | import com.ruoyi.project.service.*; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.taobao.api.ApiException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | private IServiceFundSharedService serviceFundSharedService; |
| | | |
| | | @Autowired |
| | | private IServiceFunddetailSharedService serviceFunddetailSharedService; |
| | | |
| | | @Autowired |
| | | private IServiceFunddetailService serviceFunddetailService; |
| | | |
| | | |
| | | @Autowired |
| | | private IServiceReimbursementdetailService serviceReimbursementdetailService; |
| | | |
| | | @Autowired |
| | | private IServiceReimbursementdetailSharedService reimbursementdetailSharedService; |
| | | private IServiceFundflowruleService iServiceFundflowruleService; |
| | | |
| | | @Autowired |
| | | private IServiceFundService serviceFundService; |
| | | |
| | | // @Autowired |
| | | // private IServiceReimbursementService serviceReimbursementService; |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | |
| | | @Autowired |
| | |
| | | System.out.println("执行无参方法"); |
| | | } |
| | | |
| | | // public void checkDBInfo() { |
| | | // ServiceFund serviceFund = new ServiceFund(); |
| | | // serviceFund.setFlowlevel(3L); |
| | | // List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund); |
| | | // for (ServiceFund serviceFund1 : serviceFunds) { |
| | | // ServiceFundShared serviceFundShared = new ServiceFundShared(); |
| | | // serviceFundShared.setSerfunid(serviceFund1.getId()); |
| | | // List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryList(serviceFundShared); |
| | | // if (CollectionUtils.isEmpty(serviceFundShareds)) { |
| | | // ServiceFundShared serviceFundShared1 = DtoConversionUtils.sourceToTarget(serviceFund1, ServiceFundShared.class); |
| | | // serviceFundShared1.setSerfunid(serviceFund1.getId()); |
| | | // serviceFundShared1.setId(null); |
| | | // serviceFundSharedService.save(serviceFundShared1); |
| | | // } |
| | | // } |
| | | // //FUND |
| | | // List<ServiceFunddetail> serviceFunddetailnew = new ArrayList<>(); |
| | | // List<ServiceFunddetail> serviceFunddetails = serviceFunddetailService.queryList(new ServiceFunddetail()); |
| | | // for (ServiceFunddetail serviceFunddetail : serviceFunddetails) { |
| | | //// if (!ObjectUtils.isEmpty(serviceFunddetail.getAnnexfiles())) { |
| | | //// serviceFunddetailnew.add(serviceFunddetail); |
| | | //// } else { |
| | | // Long fundid = serviceFunddetail.getFundid(); |
| | | // ServiceFund byId = serviceFundService.getById(fundid); |
| | | // if (!ObjectUtils.isEmpty(byId)) { |
| | | // if (byId.getFlowlevel() != null && byId.getFlowlevel() == 3) { |
| | | // serviceFunddetailnew.add(serviceFunddetail); |
| | | // } |
| | | //// } |
| | | // } |
| | | // } |
| | | // for (ServiceFunddetail serviceFunddetail1 : serviceFunddetailnew) { |
| | | // //需要先查一下这个对应的fdid(shared表)在详情备份表是否存在 |
| | | // ServiceFunddetailShared serviceFunddetailShared = new ServiceFunddetailShared(); |
| | | // serviceFunddetailShared.setFdid(serviceFunddetail1.getId()); |
| | | // List<ServiceFunddetailShared> serviceFunddetailShareds = serviceFunddetailSharedService.queryList(serviceFunddetailShared); |
| | | // if (CollectionUtils.isEmpty(serviceFunddetailShareds)) { |
| | | // serviceFundService.addFundSharedInfo(serviceFunddetail1.getFundid()); |
| | | // } |
| | | //// ServiceFunddetailShared serviceFunddetailShared = new ServiceFunddetailShared(); |
| | | //// serviceFunddetailShared.setFdid(serviceFunddetail1.getId()); |
| | | //// List<ServiceFunddetailShared> serviceFunddetailShareds = serviceFunddetailSharedService.queryList(serviceFunddetailShared); |
| | | //// if (CollectionUtils.isEmpty(serviceFunddetailShareds)) { |
| | | //// ServiceFunddetailShared serviceFunddetailShared1 = DtoConversionUtils.sourceToTarget(serviceFunddetail1, ServiceFunddetailShared.class); |
| | | //// serviceFunddetailShared1.setId(null); |
| | | //// ServiceFundShared serviceFundShared = new ServiceFundShared(); |
| | | //// serviceFundShared.setSerfunid(serviceFunddetail1.getFundid()); |
| | | //// List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryList(serviceFundShared); |
| | | //// serviceFunddetailShared1.setFundid(serviceFundShareds.get(0).getId()); |
| | | //// serviceFunddetailShared1.setFdid(serviceFunddetail1.getId()); |
| | | //// serviceFunddetailSharedService.save(serviceFunddetailShared1); |
| | | //// } |
| | | // } |
| | | // |
| | | // |
| | | // //reimbursement |
| | | // List<ServiceReimbursementdetail> serviceReimbursementdetailsNew = new ArrayList<>(); |
| | | // List<ServiceReimbursementdetail> serviceReimbursementdetails = serviceReimbursementdetailService.queryList(new ServiceReimbursementdetail()); |
| | | // for (ServiceReimbursementdetail reimbursementdetail : serviceReimbursementdetails) { |
| | | //// if (!ObjectUtils.isEmpty(reimbursementdetail.getAnnexfiles())) { |
| | | //// serviceReimbursementdetailsNew.add(reimbursementdetail); |
| | | //// } else { |
| | | // Long rbid = reimbursementdetail.getRbid(); |
| | | // ServiceReimbursement byId = serviceReimbursementService.getById(rbid); |
| | | // if (!ObjectUtils.isEmpty(byId)) { |
| | | // if (byId.getFlowlevel() != null && byId.getFlowlevel() == 3) { |
| | | // serviceReimbursementdetailsNew.add(reimbursementdetail); |
| | | // } |
| | | //// } |
| | | // } |
| | | // } |
| | | // for (ServiceReimbursementdetail serviceReimbursementdetail : serviceReimbursementdetailsNew) { |
| | | // //需要先查一下这个对应的rbid(shared表)在详情备份表是否存在 |
| | | // ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared(); |
| | | // serviceReimbursementdetailShared.setRdid(serviceReimbursementdetail.getId()); |
| | | // List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = reimbursementdetailSharedService.queryList(serviceReimbursementdetailShared); |
| | | // if (CollectionUtils.isEmpty(serviceReimbursementdetailShareds)) { |
| | | // serviceReimbursementService.addSharedData(serviceReimbursementdetail.getRbid()); |
| | | // } |
| | | // } |
| | | //// ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared(); |
| | | //// serviceReimbursementdetailShared.setRdid(serviceReimbursementdetail.getId()); |
| | | //// if (serviceReimbursementdetail.getRbid() == 872) { |
| | | //// System.out.println("-------------------"); |
| | | //// } |
| | | //// List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = reimbursementdetailSharedService.queryList(serviceReimbursementdetailShared); |
| | | //// |
| | | //// if (CollectionUtils.isEmpty(serviceReimbursementdetailShareds)) { |
| | | //// ServiceReimbursementdetailShared reimbursementdetailShared = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailShared.class); |
| | | //// reimbursementdetailShared.setId(null); |
| | | //// ServiceReimbursementShared serviceReimbursementShared = new ServiceReimbursementShared(); |
| | | //// serviceReimbursementShared.setReimid(serviceReimbursementdetail.getRbid()); |
| | | //// List<ServiceReimbursementShared> serviceReimbursementShareds = serviceReimbursementSharedService.queryList(serviceReimbursementShared); |
| | | //// if (!CollectionUtils.isEmpty(serviceReimbursementShareds) && !ObjectUtils.isEmpty(serviceReimbursementShareds.get(0))) { |
| | | //// reimbursementdetailShared.setRbid(serviceReimbursementShareds.get(0).getId()); |
| | | //// reimbursementdetailShared.setRdid(serviceReimbursementdetail.getId()); |
| | | //// reimbursementdetailSharedService.save(reimbursementdetailShared); |
| | | //// } |
| | | //// } |
| | | //// } |
| | | // |
| | | // } |
| | | |
| | | public void checkReportInfo() { |
| | | public void checkReportInfo() throws ApiException { |
| | | //查出所有被医院退回的Fund数据 |
| | | List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList(); |
| | | for (ServiceFundShared serviceFundShared : serviceFundShareds) { |
| | |
| | | } |
| | | String phone = serviceFundShared.getPhone(); |
| | | //将分享里的该数据删除 |
| | | serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId()); |
| | | |
| | | log.info("checkReportInfo中入参ID为:{}", serviceFundShared.getId()); |
| | | Boolean aBoolean = serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId(), null); |
| | | log.info("fund分享表里的数据是否删除成功:{}", aBoolean); |
| | | ServiceFund serviceFund = new ServiceFund(); |
| | | serviceFund.setId(serviceFundShared.getSerfunid()); |
| | | List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund); |
| | | List<ServiceFund> serviceFunds = serviceFundService.queryInfoById(serviceFund); |
| | | ServiceFund serviceFund1 = serviceFunds.get(0); |
| | | serviceFund1.setFlowlevel(100L); |
| | | serviceFund1.setDel_flag(0); |
| | | serviceFund1.setRecordstatus(-1); |
| | | serviceFund1.setBackflowlevel(199); |
| | | serviceFundService.updateById(serviceFund1); |
| | | sendMeg(split, phone, serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid()); |
| | | |
| | | SysUser sysUser = sysUserService.selectUserByUserName(serviceFund1.getUserno()); |
| | | sendMeg(split, sysUser.getPhonenumber(), serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid()); |
| | | } else { |
| | | //不是退回的操作 |
| | | if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) { |
| | |
| | | } |
| | | |
| | | //将分享里的该数据删除 |
| | | serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId()); |
| | | |
| | | Boolean aBoolean = serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId()); |
| | | log.info("将分享里的该数据删除: {}", aBoolean); |
| | | //将Flowlevel 设置为0; |
| | | ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); |
| | | serviceReimbursement.setId(serviceReimbursementShared.getReimid()); |
| | |
| | | ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0); |
| | | serviceReimbursement1.setFlowlevel(100L); |
| | | serviceReimbursement1.setDelFlag(0); |
| | | serviceReimbursement1.setUploadStates(0); |
| | | serviceReimbursement1.setBackflowlevel(199L); |
| | | serviceReimbursement1.setRecordstatus(-1); |
| | | serviceReimbursementService.updateById(serviceReimbursement1); |
| | | sendMeg(split, phone, "0", 1, serviceReimbursementShared.getReimid()); |
| | | |
| | | SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement1.getUserno()); |
| | | sendMeg(split, sysUser.getPhonenumber(), "0", 1, serviceReimbursementShared.getReimid()); |
| | | } else { |
| | | //不是退回的操作 |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) { |
| | | public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) throws ApiException { |
| | | //记录操作记录 |
| | | ServiceFundflow serviceFundflow = new ServiceFundflow(); |
| | | serviceFundflow.setCreateBy("admin"); |
| | | serviceFundflow.setCreateBy(split[0]); |
| | | serviceFundflow.setCreateTime(new Date()); |
| | | serviceFundflow.setUpdateBy("admin"); |
| | | serviceFundflow.setUpdateBy(split[0]); |
| | | serviceFundflow.setUpdateTime(new Date()); |
| | | serviceFundflow.setCheckusername(split[0]); |
| | | serviceFundflow.setFlowcontent(split[2]); |
| | |
| | | serviceFundflow.setFundid(fundId); |
| | | fundflowService.save(serviceFundflow); |
| | | |
| | | // ArrayList<ConcurrentHashMap<String, String>> contentList = new ArrayList<>(); |
| | | // ConcurrentHashMap map = new ConcurrentHashMap(); |
| | | // map.put("审批人", split[0]); |
| | | // map.put("审批时间", split[1]); |
| | | // map.put("意见", split[2]); |
| | | // contentList.add(map); |
| | | // DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); |
| | | // dingTalkReqVo.setTitle("财务系统驳回信息"); |
| | | // dingTalkReqVo.setNumber(phone); |
| | | // dingTalkReqVo.setContents(contentList); |
| | | // dingTalkService.sendNotification(dingTalkReqVo); |
| | | ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); |
| | | ConcurrentHashMap map = new ConcurrentHashMap(); |
| | | map.put("审批人:", split[0]); |
| | | map.put("审批时间:", split[1]); |
| | | map.put("意见:", split[2]); |
| | | contentList.add(map); |
| | | DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); |
| | | dingTalkReqVo.setTitle("财务系统驳回信息"); |
| | | dingTalkReqVo.setNumber(phone); |
| | | dingTalkReqVo.setContents(contentList); |
| | | dingTalkService.sendNotification(dingTalkReqVo); |
| | | } |
| | | |
| | | private ReentrantLock lock = new ReentrantLock(); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 将数据存到分享表中 |
| | | */ |
| | | public void addDataShared() { |
| | | ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); |
| | | //处理差旅报销 |
| | | serviceFundflowrule.setApplytype("0"); |
| | | List<ServiceFundflowrule> serviceFundflowrules = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("差旅的最高等级:{}", serviceFundflowrules.get(0).getTotallevel()); |
| | | ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); |
| | | serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); |
| | | serviceReimbursement.setUploadStates(1); |
| | | serviceReimbursement.setDelFlag(0); |
| | | List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement); |
| | | for (ServiceReimbursement serviceReimbursement1 : serviceReimbursementList) { |
| | | try { |
| | | log.info("插入分享表的ID为:{}", serviceReimbursement1.getId()); |
| | | Boolean aBoolean = serviceReimbursementService.addSharedData(serviceReimbursement1.getId()); |
| | | if (aBoolean) { |
| | | ServiceReimbursement serviceReimbursement3 = new ServiceReimbursement(); |
| | | serviceReimbursement3.setId(serviceReimbursement1.getId()); |
| | | serviceReimbursement3.setUploadStates(2); |
| | | boolean b = serviceReimbursementService.updateById(serviceReimbursement3); |
| | | log.info("serviceReimbursement是否插入成功{},{}", aBoolean, b); |
| | | } |
| | | } catch (Exception e) { |
| | | ServiceReimbursement serviceReimbursement2 = new ServiceReimbursement(); |
| | | serviceReimbursement2.setId(serviceReimbursement1.getId()); |
| | | serviceReimbursement2.setNotes("插入分享表失败"); |
| | | serviceReimbursementService.updateById(serviceReimbursement2); |
| | | } |
| | | } |
| | | |
| | | //专家劳务费申请 |
| | | serviceFundflowrule.setApplytype("1"); |
| | | List<ServiceFundflowrule> serviceFundflowrules2 = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("专家劳务的最高等级:{}", serviceFundflowrules2.get(0).getTotallevel()); |
| | | addFunfShared(serviceFundflowrules2.get(0).getTotallevel().longValue(), "1"); |
| | | |
| | | //伦理专家劳务费申请 |
| | | serviceFundflowrule.setApplytype("2"); |
| | | List<ServiceFundflowrule> serviceFundflowrules3 = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("伦理专家劳务费申请:{}", serviceFundflowrules3.get(0).getTotallevel()); |
| | | addFunfShared(serviceFundflowrules3.get(0).getTotallevel().longValue(), "2"); |
| | | |
| | | //医学成本报销 |
| | | serviceFundflowrule.setApplytype("3"); |
| | | List<ServiceFundflowrule> serviceFundflowrules4 = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("医学成本报销:{}", serviceFundflowrules4.get(0).getTotallevel()); |
| | | addFunfShared(serviceFundflowrules4.get(0).getTotallevel().longValue(), "3"); |
| | | |
| | | //办公费用报销 |
| | | serviceFundflowrule.setApplytype("4"); |
| | | List<ServiceFundflowrule> serviceFundflowrules5 = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("办公费用报销:{}", serviceFundflowrules5.get(0).getTotallevel()); |
| | | addFunfShared(serviceFundflowrules5.get(0).getTotallevel().longValue(), "4"); |
| | | |
| | | //绩效审批报销 |
| | | serviceFundflowrule.setApplytype("5"); |
| | | List<ServiceFundflowrule> serviceFundflowrules6 = iServiceFundflowruleService.queryList(serviceFundflowrule); |
| | | log.info("办公费用报销:{}", serviceFundflowrules6.get(0).getTotallevel()); |
| | | addFunfShared(serviceFundflowrules6.get(0).getTotallevel().longValue(), "5"); |
| | | |
| | | } |
| | | |
| | | private void addFunfShared(Long totallevel, String applyType) { |
| | | ServiceFund serviceFund = new ServiceFund(); |
| | | serviceFund.setFlowlevel(totallevel); |
| | | serviceFund.setUploadStates(1); |
| | | serviceFund.setDel_flag(0); |
| | | serviceFund.setApplytype(applyType); |
| | | List<ServiceFund> serviceFundList = serviceFundService.queryList(serviceFund); |
| | | for (ServiceFund serviceFund1 : serviceFundList) { |
| | | try { |
| | | log.info("插入分享表的FundID为:{}", serviceFund1.getId()); |
| | | Boolean aBoolean = serviceFundService.addFundSharedInfo(serviceFund1.getId()); |
| | | if (aBoolean) { |
| | | ServiceFund serviceFund2 = new ServiceFund(); |
| | | serviceFund2.setId(serviceFund1.getId()); |
| | | serviceFund2.setUploadStates(2); |
| | | serviceFund2.setUpdateTime(new Date()); |
| | | boolean b = serviceFundService.updateById(serviceFund2); |
| | | log.info("serviceReimbursement是否插入成功{},{}", aBoolean, b); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | ServiceFund serviceFund2 = new ServiceFund(); |
| | | serviceFund2.setId(serviceFund1.getId()); |
| | | serviceFund2.setUploadStates(1); |
| | | serviceFund2.setNotes("插入fund分享表失败"); |
| | | serviceFundService.updateById(serviceFund2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |