From 57d571d5fa5c7f7945be4da6e659582184897874 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 12 Mar 2024 11:15:06 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E5=90=91=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=9B=BE=E7=89=87=20=E5=8A=A0=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/sch/manage/AutoSendSalesIvt.java | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java index 8978077f4..cf2cfd4a4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java @@ -1,15 +1,21 @@ package org.nl.wms.sch.manage; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillWrapper; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.nl.common.utils.IdUtil; @@ -23,12 +29,15 @@ import org.nl.modules.wql.util.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.createmsg.CreateMsg; import org.nl.wms.ext.mes.service.LmsToMesService; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.stereotype.Component; import java.io.File; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -45,6 +54,8 @@ public class AutoSendSalesIvt { private final LmsToMesService lmsToMesService; + private final RedissonClient redissonClient; + /* * 填充前路径 */ @@ -65,13 +76,25 @@ public class AutoSendSalesIvt { */ private static String baseApi = "http://60.165.35.2:8011"; - + @SneakyThrows public void run() { - fileName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_FRIST").getValue(); - fileNameLast = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_LAST").getValue(); - template = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_TEMP").getValue(); - // 查询数据 - queryData(); + RLock lock = redissonClient.getLock(this.getClass().getName()); + boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); + try { + if (tryLock) { + fileName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_FRIST").getValue(); + fileNameLast = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_LAST").getValue(); + template = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("REGION_PERSON_TEMP").getValue(); + // 查询数据 + queryData(); + } else { + System.out.println("AutoSendSalesIvt" + DateUtil.now() + "被锁住!!!!"); + } + } finally { + if (tryLock) { + lock.unlock(); + } + } }