| | |
| | | package com.ruoyi.quartz.task; |
| | | |
| | | import com.ruoyi.project.domain.*; |
| | | import com.ruoyi.project.domain.vo.DingTalkReqVo; |
| | | import com.ruoyi.project.service.*; |
| | | import com.ruoyi.project.service.impl.DingTalkServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.lang.reflect.Array; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.util.concurrent.locks.ReentrantLock; |
| | | |
| | | /** |
| | | * 定时任务调度测试 |
| | |
| | | public class RyTask { |
| | | @Autowired |
| | | private DingTalkService dingTalkService; |
| | | |
| | | @Autowired |
| | | private IServiceTasknumService ServiceTasknumService; |
| | | |
| | | @Autowired |
| | | private IServiceReimbursementSharedService serviceReimbursementSharedService; |
| | |
| | | } else { |
| | | //不是退回的操作 |
| | | if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) { |
| | | String bh = myMethod(); |
| | | //钱已经到帐,并且审批结果为0,说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1 |
| | | ServiceFund serviceFund = new ServiceFund(); |
| | | serviceFund.setBh(bh); |
| | | serviceFund.setId(serviceFundShared.getSerfunid()); |
| | | serviceFund.setZffs(serviceFundShared.getZffs()); |
| | | if (StringUtils.isNotBlank(serviceFundShared.getPresident())) { |
| | |
| | | //不是退回的操作 |
| | | |
| | | if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) { |
| | | //钱已经到帐,并且审批结果为0,说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1 |
| | | String bh = myMethod(); |
| | | //钱已经到帐,并且审批结果为0(0为审批中),说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1(1审批结束) |
| | | ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); |
| | | serviceReimbursement.setId(serviceReimbursementShared.getReimid()); |
| | | serviceReimbursement.setZffs(serviceReimbursementShared.getZffs()); |
| | | serviceReimbursement.setRiqi(serviceReimbursementShared.getRiqi()); |
| | | |
| | | serviceReimbursement.setBh(bh); |
| | | if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) { |
| | | serviceReimbursement.setPresident(serviceReimbursementShared.getPresident()); |
| | | } |
| | |
| | | // dingTalkService.sendNotification(dingTalkReqVo); |
| | | } |
| | | |
| | | private ReentrantLock lock = new ReentrantLock(); |
| | | |
| | | public String myMethod() { |
| | | lock.lock(); |
| | | String bh = null; |
| | | try { |
| | | // 代码块 |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | ServiceTasknum serviceTasknum = new ServiceTasknum(); |
| | | serviceTasknum.setYearmonth(format); |
| | | //CW 财务 |
| | | serviceTasknum.setApptype("CW"); |
| | | List<ServiceTasknum> serviceTasknums = ServiceTasknumService.queryList(serviceTasknum); |
| | | long nums = 1; |
| | | if (CollectionUtils.isEmpty(serviceTasknums)) { |
| | | //进行插入操作 |
| | | serviceTasknum.setSerialnumber(nums); |
| | | ServiceTasknumService.save(serviceTasknum); |
| | | bh = serviceTasknum.getYearmonth() + "0" + nums; |
| | | } else { |
| | | //获取唯一值的最大值 |
| | | nums = serviceTasknums.stream().mapToLong(ServiceTasknum::getSerialnumber).max().getAsLong() + 1; |
| | | |
| | | ServiceTasknum serviceTasknum1 = serviceTasknums.get(0); |
| | | serviceTasknum1.setSerialnumber(nums); |
| | | //对该条数据的唯一值加1 |
| | | ServiceTasknumService.updateById(serviceTasknum1); |
| | | //将生成的编号返回 |
| | | if (nums < 10) { |
| | | bh = serviceTasknums.get(0).getYearmonth() + "0" + nums; |
| | | } else { |
| | | bh = serviceTasknums.get(0).getYearmonth() + nums; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("获取编号失败了{}", e.getStackTrace()); |
| | | } finally { |
| | | lock.unlock(); |
| | | } |
| | | return bh; |
| | | } |
| | | |
| | | |
| | | } |