Ver código fonte

feature 排程备份逻辑修改

xiahan 1 ano atrás
pai
commit
540805e4e3

+ 43 - 20
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

@@ -26,6 +26,7 @@ import com.rongwei.safecommon.utils.CXCommonUtils;
 import com.rongwei.safecommon.utils.SaveConstans;
 import com.rongwei.safecommon.utils.SaveConstans;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -98,7 +99,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     private ApsService apsService;
     private ApsService apsService;
     @Autowired
     @Autowired
     private ApsProductionTechnicalRequirementService apsProductionTechnicalRequirementService;
     private ApsProductionTechnicalRequirementService apsProductionTechnicalRequirementService;
+    @Autowired
+    private ApsProcessOperationBackupService apsProcessOperationBackupService;
+    @Autowired
+    private ApsProcessOperationProcessEquBackupServiceImpl apsProcessOperationProcessEquBackupService;
 
 
+    public static String removeExtraZerosAndDecimal(BigDecimal bd) {
+        bd = bd.stripTrailingZeros();
+        return bd.toPlainString();
+    }
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
@@ -137,7 +146,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         deleteBackup(blankids, apsProductionOrderIds);
         deleteBackup(blankids, apsProductionOrderIds);
     }
     }
 
 
-
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public void blankApsCancel(List<String> apsBlankIds) {
     public void blankApsCancel(List<String> apsBlankIds) {
@@ -647,25 +655,46 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
         //删除备份
         //删除备份
         ApsUtils.clearBackup(null);
         ApsUtils.clearBackup(null);
-        //增加备份
+
+        /*****************************开始工序作业备份********************************/
         StopWatch stopWatch = new StopWatch();
         StopWatch stopWatch = new StopWatch();
         stopWatch.start();
         stopWatch.start();
-        List<List<String>> partition1 = Lists.partition(apsProcessOperationIds, 500);
-        partition1.forEach(data -> {
-            apsProcessOperationBackupDao.processOperationBackup(data,
-                    currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
-        });
+        String currentUserId = currentUser == null ? null : currentUser.getId();
+        String currentUserName = currentUser == null ? null : currentUser.getName();
+        List<ApsProcessOperationBackupDo> saveBackUpDo = new ArrayList<>();
+        ApsProcessOperationBackupDo backupDo;
+        Date currentDate = new Date();
+        for (ApsProcessOperationDo apsProcessOperationDo : apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
+                .in(ApsProcessOperationDo::getId, apsProcessOperationIds))) {
+            backupDo = new ApsProcessOperationBackupDo();
+            BeanUtils.copyProperties(apsProcessOperationDo, backupDo);
+            backupDo.setBackupuser(currentUserName);
+            backupDo.setBackupuserid(currentUserId);
+            backupDo.setBackupdate(currentDate);
+            saveBackUpDo.add(backupDo);
+        }
+        apsProcessOperationBackupService.saveBatch(saveBackUpDo, 500);
         stopWatch.stop();
         stopWatch.stop();
-        log.error("工序作业备份时长: {}"+stopWatch.getTotalTimeSeconds());
+        log.error("工序作业备份时长: " + stopWatch.getTotalTimeSeconds());
+
+        /*****************************开始工序作业明细备份********************************/
         StopWatch stopWatch1 = new StopWatch();
         StopWatch stopWatch1 = new StopWatch();
         stopWatch1.start();
         stopWatch1.start();
-        List<List<ApsProcessOperationProcessEquDo>> partition = Lists.partition(apsProcessOperationProcessEquDos, 100);
-        partition.forEach(data -> {
-            apsProcessOperationProcessEquBackupDao.processOperationEquBackup(data,
-                    currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
-        });
+
+        List<ApsProcessOperationProcessEquBackupDo> equBackupDos = new ArrayList<>();
+        ApsProcessOperationProcessEquBackupDo equBackupDo;
+
+        for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : apsProcessOperationProcessEquDos) {
+            equBackupDo = new ApsProcessOperationProcessEquBackupDo();
+            BeanUtils.copyProperties(apsProcessOperationProcessEquDo, equBackupDo);
+            equBackupDo.setBackupuser(currentUserName);
+            equBackupDo.setBackupuserid(currentUserId);
+            equBackupDo.setBackupdate(currentDate);
+            equBackupDos.add(equBackupDo);
+        }
+        apsProcessOperationProcessEquBackupService.saveBatch(equBackupDos,600);
         stopWatch1.stop();
         stopWatch1.stop();
-        log.error("工序作业明细备份时长: {}"+stopWatch1.getTotalTimeSeconds());
+        log.error("工序作业明细备份时长: {}" + stopWatch1.getTotalTimeSeconds());
     }
     }
 
 
     /**
     /**
@@ -1660,7 +1689,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         return R.ok();
         return R.ok();
     }
     }
 
 
-
     public R checkBlankOrder(CheckAndSaveOrUpdateBlankReq req, int j) {
     public R checkBlankOrder(CheckAndSaveOrUpdateBlankReq req, int j) {
         //获取校验等级
         //获取校验等级
         Integer checkLevel = req.getCheckLevel();
         Integer checkLevel = req.getCheckLevel();
@@ -2050,9 +2078,4 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
 
         return R.ok();
         return R.ok();
     }
     }
-
-    public static String removeExtraZerosAndDecimal(BigDecimal bd) {
-        bd = bd.stripTrailingZeros();
-        return bd.toPlainString();
-    }
 }
 }

+ 27 - 11
cx-aps/cx-aps-server/src/main/resources/logback-spring.xml

@@ -4,7 +4,7 @@
     <!--输出到控制台-->
     <!--输出到控制台-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
         <encoder>
-            <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <pattern>%d{HH:mm:ss} [%X{traceId}] [%thread] %-5level %logger{36} - %msg%n</pattern>
         </encoder>
         </encoder>
     </appender>
     </appender>
 
 
@@ -13,24 +13,40 @@
         <Prudent>true</Prudent>
         <Prudent>true</Prudent>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <FileNamePattern>
             <FileNamePattern>
-                cx-aps-log/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
+                cx-aps-log/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log
             </FileNamePattern>
             </FileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>5MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
+        <!-- 追加方式记录日志 -->
+        <append>true</append>
         <layout class="ch.qos.logback.classic.PatternLayout">
         <layout class="ch.qos.logback.classic.PatternLayout">
             <Pattern>
             <Pattern>
-                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level -%msg%n
+                %d{yyyy-MM-dd HH:mm:ss} [%X{traceId}] [%thread] %-5level -%msg%n
             </Pattern>
             </Pattern>
         </layout>
         </layout>
     </appender>
     </appender>
 
 
-    <logger name="com.bootdo" additivity="false">
-        <appender-ref ref="console"/>
-        <appender-ref ref="logFile" />
-    </logger>
+    <springProfile name="prod">
+        <logger name="com.bootdo" additivity="false">
+            <appender-ref ref="logFile" />
+        </logger>
 
 
-    <root level="error">
-        <appender-ref ref="console"/>
-        <appender-ref ref="logFile" />
-    </root>
+        <root level="error">
+            <appender-ref ref="logFile" />
+        </root>
+    </springProfile>
 
 
+    <springProfile name="dev">
+        <logger name="com.bootdo" additivity="false">
+            <appender-ref ref="console"/>
+            <appender-ref ref="logFile" />
+        </logger>
+
+        <root level="error">
+            <appender-ref ref="console"/>
+            <appender-ref ref="logFile" />
+        </root>
+    </springProfile>
 </configuration>
 </configuration>