Ver Fonte

feature 清除备份提取公共方法

xiahan há 1 ano atrás
pai
commit
25109fd541

+ 18 - 2
bs-common/src/main/java/com/rongwei/safecommon/utils/CXCommonUtils.java

@@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.common.collect.Lists;
 import com.rongwei.commonservice.serial.service.SysSerialNumberService;
 import com.rongwei.commonservice.service.RedisService;
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
+import com.rongwei.rwadmincommon.system.vo.SysOrganizationVo;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
@@ -33,8 +35,7 @@ import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.rongwei.safecommon.utils.SaveConstans.AQ_ORG_CODE_MAP;
-import static com.rongwei.safecommon.utils.SaveConstans.ORG_CODE_MAP;
+import static com.rongwei.safecommon.utils.SaveConstans.*;
 
 /**
  * CXCommonUtils class
@@ -290,6 +291,21 @@ public class CXCommonUtils {
         }
         return currUser;
     }
+    public static String getCurrentUserFactoryId(SysUserVo currentUser) {
+        if(currentUser==null){
+            currentUser   = getCurrentUser();
+        }
+        List<SysOrganizationVo> organizationDoList = currentUser.getOrganizationDoList();
+        String factoryId = organizationDoList.stream()
+                .filter(org -> MINUS_ONE.equals(org.getPid()))
+                .map(SysOrganizationDo::getId)
+                .distinct()
+                .collect(Collectors.joining(","));
+        if (StringUtils.isBlank(factoryId)) {
+            factoryId = organizationDoList.stream().map(info -> info.getFullpid().split(",")[1]).distinct().collect(Collectors.joining(","));
+        }
+        return factoryId;
+    }
 
     /**
      * 计算时间和当前时间相差几天

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

@@ -15,6 +15,7 @@ import com.google.common.collect.Lists;
 import com.rongwei.bscommon.sys.dao.*;
 import com.rongwei.bscommon.sys.fegin.RwApsServer;
 import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.*;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
@@ -202,8 +203,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         // 更新工序作业的状态
         apsProcessOperationDao.publish(collect);
         // 根据坯料ID 删除 备份数据
-        apsProcessOperationBackupDao.deletedByBlankId(blankIds, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIds, null);
+        ApsUtils.clearBackup(null);
         return R.ok();
     }
 
@@ -254,8 +254,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         // 更新工序作业的状态
         apsProcessOperationDao.publishCancel(collect);
         // 根据坯料ID 删除 备份数据
-        apsProcessOperationBackupDao.deletedByBlankId(blankIds, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIds, null);
+        ApsUtils.clearBackup(null);
         return R.ok();
     }
 
@@ -596,11 +595,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         List<String> apsProcessOperationIds = processes.stream().map(ProductionProcesses::getId).distinct().collect(Collectors.toList());
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
         //删除备份
-        //获取备份的坯料计划ID
-        Set<String> blankIds = apsProcessOperationProcessEquDos.stream().map(ApsProcessOperationProcessEquDo::getBlankid).collect(Collectors.toSet());
-        ArrayList<String> blankIdList = new ArrayList<>(blankIds);
-        apsProcessOperationBackupDao.deletedByBlankId(blankIdList, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIdList, null);
+        ApsUtils.clearBackup(null);
         //增加备份
         List<List<String>> partition1 = Lists.partition(apsProcessOperationIds, 500);
         partition1.forEach(data -> {
@@ -1106,8 +1101,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
      */
     public void deleteBackup(List<String> blankids, List<String> apsProductionOrderIds) {
         // 删除工序作业和工序作业明备份数据
-        apsProcessOperationBackupDao.deletedByBlankId(blankids, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankids, null);
+        ApsUtils.clearBackup(null);
         // 更工序作业生产状态=待排程,是否锁定=否,
         apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                 .in(ApsProcessOperationDo::getBlankid, blankids)

+ 3 - 11
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java

@@ -11,6 +11,7 @@ import com.rongwei.bscommon.sys.dao.ApsProcessOperationBackupDao;
 import com.rongwei.bscommon.sys.dao.ApsProcessOperationProcessEquBackupDao;
 import com.rongwei.bscommon.sys.dao.ApsProcessOperationProcessEquDao;
 import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.*;
 import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
@@ -317,17 +318,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         }
         if (emptyBackup.get()) {
             SysUserVo currentUser = CXCommonUtils.getCurrentUser();
-            List<SysOrganizationVo> organizationDoList = currentUser.getOrganizationDoList();
-            String factoryId = organizationDoList.stream()
-                    .filter(org -> MINUS_ONE.equals(org.getPid()))
-                    .map(SysOrganizationDo::getId)
-                    .distinct()
-                    .collect(Collectors.joining(","));
-            if (StringUtils.isBlank(factoryId)) {
-                factoryId = organizationDoList.stream().map(info -> info.getFullpid().split(",")[1]).distinct().collect(Collectors.joining(","));
-            }
-            apsProcessOperationBackupDao.deletedByBlankId(null, factoryId);
-            apsProcessOperationProcessEquBackupDao.deletedByBlankId(null, factoryId);
+            // 删除工序作业备份
+            ApsUtils.clearBackup(currentUser);
         }
         this.saveOrUpdateBatch(saveList);
         return R.ok();

+ 2 - 11
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.*;
 import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
 import com.rongwei.bsentity.vo.PreviousProcessVo;
@@ -857,18 +858,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     @Override
     public R backupProcessOperation() {
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
-        List<SysOrganizationVo> organizationDoList = currentUser.getOrganizationDoList();
-        String factoryId = organizationDoList.stream()
-                .filter(org -> MINUS_ONE.equals(org.getPid()))
-                .map(SysOrganizationDo::getId)
-                .distinct()
-                .collect(Collectors.joining(","));
-        if (StringUtils.isBlank(factoryId)) {
-            factoryId = organizationDoList.stream().map(info -> info.getFullpid().split(",")[1]).distinct().collect(Collectors.joining(","));
-        }
         // 先删除
-        apsProcessOperationBackupDao.deletedByBlankId(null,factoryId);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(null,factoryId);
+        ApsUtils.clearBackup(currentUser);
         List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.selectList(
                 new LambdaQueryWrapper<ApsProcessOperationDo>()
                 .in(ApsProcessOperationDo::getProcessstatus, "20"));

+ 3 - 5
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.*;
 import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.ApsBlankOrderDo;
 import com.rongwei.bsentity.domain.ApsProductDetailDo;
 import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
@@ -83,9 +84,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         // 根据坯料ID 删除 备份数据
         List<ApsBlankOrderDo> apsBlankOrderDos = apsBlankOrderDao.selectList(new LambdaQueryWrapper<ApsBlankOrderDo>()
                 .in(ApsBlankOrderDo::getProductionorderid, productionOrderIds));
-        List<String> blankIds = apsBlankOrderDos.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
-        apsProcessOperationBackupDao.deletedByBlankId(blankIds, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIds, null);
+        ApsUtils.clearBackup(null);
         return R.ok();
     }
 
@@ -111,8 +110,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
                 .in(ApsBlankOrderDo::getProductionorderid, productionOrderIds));
         List<String> blankIds = apsBlankOrderDos.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
         // 根据坯料ID 删除 备份数据
-        apsProcessOperationBackupDao.deletedByBlankId(blankIds, null);
-        apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIds, null);
+        ApsUtils.clearBackup(null);
         return R.ok();
     }
 

+ 67 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/utils/ApsUtils.java

@@ -0,0 +1,67 @@
+package com.rongwei.bscommon.sys.utils;
+
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationBackupDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationProcessEquBackupDao;
+import com.rongwei.commonservice.serial.service.SysSerialNumberService;
+import com.rongwei.commonservice.service.RedisService;
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
+import com.rongwei.rwadmincommon.system.vo.SysOrganizationVo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.safecommon.fegin.CXAdminFeginClient;
+import com.rongwei.safecommon.fegin.CXCommonFeginClient;
+import com.rongwei.safecommon.utils.CXCommonUtils;
+import lombok.Data;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static com.rongwei.safecommon.utils.SaveConstans.MINUS_ONE;
+
+/**
+ * ApsUtils class
+ *
+ * @author XH
+ * @date 2024/05/07
+ */
+@Component
+public class ApsUtils {
+    private static final Logger log = LoggerFactory.getLogger(ApsUtils.class.getName());
+    @Autowired
+    private ApsProcessOperationBackupDao autoApsProcessOperationBackupDao;
+    @Autowired
+    private ApsProcessOperationProcessEquBackupDao autoApsProcessOperationProcessEquBackupDao;
+
+
+    private static ApsProcessOperationBackupDao apsProcessOperationBackupDao;
+    private static ApsProcessOperationProcessEquBackupDao apsProcessOperationProcessEquBackupDao;
+
+
+    @PostConstruct
+    public void info() {
+        apsProcessOperationBackupDao = autoApsProcessOperationBackupDao;
+        apsProcessOperationProcessEquBackupDao = autoApsProcessOperationProcessEquBackupDao;
+    }
+
+    /**
+     * 删除当前员工所属工厂的排程备份信息
+     * @param currentUser
+     */
+    public static void clearBackup(SysUserVo currentUser) {
+        if(currentUser==null){
+            currentUser = CXCommonUtils.getCurrentUser();
+        }
+        String factoryId = CXCommonUtils.getCurrentUserFactoryId(currentUser);
+        log.info("开始删除工厂:{}的排除备份数据",factoryId);
+        // 先删除
+        apsProcessOperationBackupDao.deletedByBlankId(null, factoryId);
+        apsProcessOperationProcessEquBackupDao.deletedByBlankId(null, factoryId);
+    }
+
+}