From 42b9c09918b795bc01c7bd3cc36e54851d2992c6 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 30 Oct 2023 09:32:07 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/system/api/RemoteMesService.java | 6 ++ .../api/factory/RemoteMesFallbackFactory.java | 10 +++ .../src/main/java/com/op/job/task/RyTask.java | 14 +++++ .../controller/WCSInterfaceController.java | 26 +++++--- .../java/com/op/mes/mapper/MesMapper.java | 2 + .../op/mes/service/IWCSInterfaceService.java | 3 + .../service/impl/IWCInterfaceServiceImpl.java | 63 ++++++++++++++++++- .../main/resources/mapper/mes/MesMapper.xml | 3 + .../mapper/system/BaseApkFileMapper.xml | 2 +- .../service/impl/ProProcessServiceImpl.java | 3 +- 10 files changed, 121 insertions(+), 11 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java index 135fda3bd..dea44c1f1 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java @@ -35,4 +35,10 @@ public interface RemoteMesService { @PostMapping("/prepare/reportWorkTask") public R reportWorkTask(); + + @PostMapping("/wcsInterface/dataClearTask") + public R dataClearTask(); + + @PostMapping("/wcsInterface/dataBKTask") + public R dataBKTask(); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java index 0bd451f3e..3390c0a09 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java @@ -45,6 +45,16 @@ public class RemoteMesFallbackFactory implements FallbackFactory tables = new ArrayList<>(); + tables.add("mes_plc_log"); + tables.add("mes_interface_log"); + return success(wCInterfaceService.dataClearTask(tables)); } public static void main(String args[]){ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java index b19af438c..4de2274ea 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java @@ -38,4 +38,6 @@ public interface MesMapper { List getTotalNumL(BoardDTO boardDTO); List getEveryNumL(BoardDTO boardDTO); + + void deleteDateByTableName(@Param("table")String table,@Param("ymdhms")String ymdhms); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java index b53c49dca..33ad4c270 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java @@ -1,5 +1,6 @@ package com.op.mes.service; +import com.op.common.core.domain.R; import com.op.common.core.web.domain.AjaxResult; import com.op.mes.domain.MesShift; import com.op.mes.domain.dto.BaseEquipmentDto; @@ -28,4 +29,6 @@ public interface IWCSInterfaceService { String saveLGusedLog(List lgdtos); List getProShifts(BoardDTO boardDTO); + + R dataClearTask(List tables); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 1a0b384de..aff2697d6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -2,6 +2,7 @@ package com.op.mes.service.impl; import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.bean.BeanUtils; import com.op.common.core.utils.uuid.IdUtils; @@ -11,16 +12,27 @@ import com.op.mes.mapper.MesMapper; import com.op.mes.mapper.MesReportWorkMapper; import com.op.mes.mapper.ProRfidProcessDetailMapper; import com.op.mes.service.IWCSInterfaceService; +import com.op.system.api.RemoteUserService; import com.op.system.api.domain.SysDept; +import com.op.system.api.domain.SysUser; import com.op.system.api.domain.dto.BoardDTO; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.dto.WCSDataDTO; import com.op.system.api.domain.mes.ProRfidProcessDetail; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -31,7 +43,7 @@ import java.util.stream.Collectors; */ @Service public class IWCInterfaceServiceImpl implements IWCSInterfaceService { - + protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private MesMapper mesMapper; @Autowired @@ -39,6 +51,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { @Autowired private MesReportWorkMapper mesReportWorkMapper; + @Autowired + private RemoteUserService remoteUserService; + /**下一工序机台集合获取 * JSON * { @@ -176,6 +191,45 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } + @Override + public R dataClearTask(List tables) { + // 加载sf-cloud库的sys_datasource + SysUser sysUser = new SysUser(); + sysUser.setUserId(1L); + R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + List> dateSources = dateSources0.getData(); + ExecutorService executorService = new ThreadPoolExecutor( + dateSources.size(), + dateSources.size(), + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue()); + try { + dateSources.forEach(dateSource -> { + logger.info("++++++++++++" + dateSource.get("poolName") + "++++开始++++++++++"); + Runnable run = () -> dateDeleteFunc(dateSource.get("poolName"),tables); + executorService.execute(run); + }); + } catch (Exception e) { + logger.error("service == deviceOfflineTimingTask == exception", e); + return R.fail("service == deviceOfflineTimingTask == exception"); + } finally { + executorService.shutdown(); + } + return R.ok(true); + } + + public void dateDeleteFunc(String poolName,List tables){ + DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key + DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate today = LocalDate.now(); + System.out.println("今天的日期为:"+today); + LocalDate nextWeek = today.plus(-3, ChronoUnit.DAYS); + String ymdhms7 = nextWeek.format(ymdhms)+" 00:00:00"; + for(String table:tables){ + mesMapper.deleteDateByTableName(table,ymdhms7); + } + } + @Override public String saveLGusedLog(List lgdtos) { DynamicDataSourceContextHolder.push("ds_"+lgdtos.get(0).getFactoryCode());// 这是数据源的key @@ -191,6 +245,11 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } public static void main(String args[]){ - System.out.println(DateUtils.getDate()); + DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate today = LocalDate.now(); + System.out.println("今天的日期为:"+today); + LocalDate nextWeek = today.plus(-3, ChronoUnit.DAYS); + String ymdhms7 = nextWeek.format(ymdhms); + System.out.println("7天之前的日期为:"+ymdhms7); } } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml index 0acd5a912..fc72d0fa2 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml @@ -55,6 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + delete from ${table} where #{ymdhms} > CONVERT(varchar(30),create_time, 120) + - select top 1 id, file_name, file_address, version, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, remark from base_apk_file diff --git a/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProProcessServiceImpl.java b/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProProcessServiceImpl.java index 5f6a0c5c8..cde0acd0b 100644 --- a/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProProcessServiceImpl.java +++ b/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProProcessServiceImpl.java @@ -159,7 +159,8 @@ public class ProProcessServiceImpl implements IProProcessService { } proProcess.setUpdateTime(DateUtils.getNowDate()); - return proProcessMapper.updateProProcess(proProcess); + int n = proProcessMapper.updateProProcess(proProcess); + return n; } /**