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(); + } + } }