From d51450c60f95c7e6fb7034451e9c1f7497b2b116 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 31 八月 2023 17:38:07 +0800 Subject: [PATCH] 代码提交 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 7 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index b7f39b1..be4cbbc 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -1,21 +1,17 @@ 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; /** * 瀹氭椂浠诲姟璋冨害娴嬭瘯 @@ -27,6 +23,9 @@ public class RyTask { @Autowired private DingTalkService dingTalkService; + + @Autowired + private IServiceTasknumService ServiceTasknumService; @Autowired private IServiceReimbursementSharedService serviceReimbursementSharedService; @@ -83,8 +82,10 @@ } else { //涓嶆槸閫�鍥炵殑鎿嶄綔 if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) { + String bh = myMethod(); //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1 ServiceFund serviceFund = new ServiceFund(); + serviceFund.setBh(bh); serviceFund.setId(serviceFundShared.getSerfunid()); serviceFund.setZffs(serviceFundShared.getZffs()); if (StringUtils.isNotBlank(serviceFundShared.getPresident())) { @@ -308,12 +309,13 @@ //涓嶆槸閫�鍥炵殑鎿嶄綔 if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) { - //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1 + String bh = myMethod(); + //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0(0涓哄鎵逛腑)锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰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()); } @@ -537,4 +539,48 @@ // dingTalkService.sendNotification(dingTalkReqVo); } + private ReentrantLock lock = new ReentrantLock(); + + public String myMethod() { + lock.lock(); + String bh = null; + try { + // 浠g爜鍧� + 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; + } + + } -- Gitblit v1.9.3