From 533ae8a2dc71edeff73f1e0c62d23718d3ff059b Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 23 三月 2026 09:47:18 +0800
Subject: [PATCH] 430代码 SQL server

---
 src/main/java/com/lxzn/activiti/service/IToEquipmentTaskService.java         |    7 ---
 src/main/java/com/lxzn/activiti/service/impl/ToEquipmentTaskServiceImpl.java |   92 +++++++++++----------------------------------
 src/main/java/com/lxzn/plm/service/impl/PdmProgramSourceServiceImpl.java     |    4 +-
 3 files changed, 26 insertions(+), 77 deletions(-)

diff --git a/src/main/java/com/lxzn/activiti/service/IToEquipmentTaskService.java b/src/main/java/com/lxzn/activiti/service/IToEquipmentTaskService.java
index 18c2204..c8fd63b 100644
--- a/src/main/java/com/lxzn/activiti/service/IToEquipmentTaskService.java
+++ b/src/main/java/com/lxzn/activiti/service/IToEquipmentTaskService.java
@@ -17,10 +17,5 @@
      */
     List<ToEquipmentTask> selectTaskSyncFlag(Integer syncFlag);
 
-    /**
-     * 閫氳繃鏂囦欢鍚嶇О涓庣姸鎬佺‘瀹氭槸鍚﹀彲浠ュ垹闄�
-     * @param filePath,fileEncodeName,yncFlag
-     * @return
-     */
-    List<ToEquipmentTask> selectTaskByNameAndSyncFlag(String filePath,String fileEncodeName,Integer syncFlag);
+
 }
diff --git a/src/main/java/com/lxzn/activiti/service/impl/ToEquipmentTaskServiceImpl.java b/src/main/java/com/lxzn/activiti/service/impl/ToEquipmentTaskServiceImpl.java
index 2c7a38a..8932b95 100644
--- a/src/main/java/com/lxzn/activiti/service/impl/ToEquipmentTaskServiceImpl.java
+++ b/src/main/java/com/lxzn/activiti/service/impl/ToEquipmentTaskServiceImpl.java
@@ -13,15 +13,14 @@
 import com.lxzn.nc.service.IDeviceInfoService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 @Service
 public class ToEquipmentTaskServiceImpl extends ServiceImpl<ToEquipmentTaskMapper, ToEquipmentTask> implements IToEquipmentTaskService {
@@ -30,94 +29,49 @@
     private IDeviceInfoService deviceInfoService;
     @Autowired
     private IDeviceGroupService deviceGroupService;
+    @Value("${fileNcGateway}")
+    private  String fileNcGateway;
 
     @Override
+    @Transactional(rollbackFor = {Exception.class})
     @Scheduled(cron = "${taskSync}")
     public void updateNcFileFromTask() {
-        List<ToEquipmentTask> taskList = this.selectTaskSyncFlag(1);
-        if (taskList == null || taskList.isEmpty()) {
+        List<ToEquipmentTask> list = selectTaskSyncFlag(1);
+        if(list == null || list.isEmpty()) {
             return;
         }
-        List<ToEquipmentTask> successTasks = new ArrayList<>();
-
-        for (ToEquipmentTask task : taskList) {
+        for (ToEquipmentTask task : list) {
+            //鑾峰彇鏂囦欢澶逛綅缃�
             DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(task.getDeviceNo());
-            if (deviceInfo == null) {
+            if(deviceInfo == null) {
                 continue;
             }
-            List<String> pathList = deviceGroupService.findListParentTreeAll(deviceInfo.getGroupId());
-            if (pathList == null || pathList.isEmpty()) {
+            List<String> strings =  deviceGroupService.findListParentTreeAll(deviceInfo.getGroupId());
+            if (strings == null  || strings.isEmpty()) {
                 continue;
             }
-            String targetPath = StringUtils.join(pathList.toArray(), "/")
-                    + "/" + deviceInfo.getDeviceNo()
-                    + "/send/"
-                    + task.getFileName();
-            String sourceFilePath = task.getFilePath() + "/" + task.getFileEncodeName();
-            Boolean copySuccess = FileUtil.copyFileUpName(sourceFilePath, targetPath, task.getFileSuffix());
-            if (copySuccess) {
+            String path = StringUtils.join(strings.toArray(), "/");
+            Boolean b =  FileUtil.copyFileUpName(task.getFilePath() + "/" + task.getFileEncodeName(),
+                    fileNcGateway +"/" +  path +"/" + task.getDeviceNo() + "/send/" + task.getFileName(),task.getFileSuffix());
+            if (b) {
                 task.setSyncFlag(2);
-                successTasks.add(task);
             }
         }
-        if (!successTasks.isEmpty()) {
-            super.saveOrUpdateBatch(successTasks);
-        }
-        deleteSourceFilesAfterBatchUpdate(taskList);
-    }
-
-    /**
-     * 鎵归噺鏇存柊鍚庢鏌ュ苟鍒犻櫎婧愭枃浠�
-     */
-    private void deleteSourceFilesAfterBatchUpdate(List<ToEquipmentTask> allTasks) {
-        Map<String, String> filePathMap = new HashMap<>();
-
-        for (ToEquipmentTask task : allTasks) {
-            if (task.getSyncFlag() == 2) {
-                String key = task.getFilePath() + "_" + task.getFileEncodeName();
-                if (!filePathMap.containsKey(key)) {
-                    filePathMap.put(key, task.getFilePath() + "/" + task.getFileEncodeName());
-                }
-            }
-        }
-        for (Map.Entry<String, String> entry : filePathMap.entrySet()) {
-            String[] parts = entry.getKey().split("_");
-            if (parts.length >= 2) {
-                String filePath = parts[0];
-                String fileEncodeName = parts[1];
-                List<ToEquipmentTask> remainingTasks = this.selectTaskByNameAndSyncFlag(
-                        filePath,
-                        fileEncodeName,
-                        1
-                );
-                if (remainingTasks == null || remainingTasks.isEmpty()) {
-                    FileUtil.deleteNcFile(entry.getValue());
-                }
-            }
-        }
+        super.saveOrUpdateBatch(list);
     }
 
     @Override
     public List<ToEquipmentTask> selectTaskSyncFlag(Integer syncFlag) {
-        if (!ValidateUtil.validateInteger(syncFlag)) {
+        if(!ValidateUtil.validateInteger(syncFlag)) {
             return null;
         }
-        return super.lambdaQuery()
-                .eq(ToEquipmentTask::getSyncFlag, syncFlag)
-                .list();
-    }
-
-    @Override
-    public List<ToEquipmentTask> selectTaskByNameAndSyncFlag(String filePath, String fileEncodeName, Integer syncFlag) {
-        if (!ValidateUtil.validateInteger(syncFlag)
-                || !ValidateUtil.validateString(filePath)
-                || !ValidateUtil.validateString(fileEncodeName)) {
+        List<ToEquipmentTask> list = super.lambdaQuery().eq(ToEquipmentTask::getSyncFlag, syncFlag).list();
+       /* List<ToEquipmentTask> list = new ArrayList<>();
+        ToEquipmentTask t = getById("1800797949617278977");
+        list.add(t);*/
+        if(list == null || list.isEmpty()) {
             return null;
         }
-        return super.lambdaQuery()
-                .eq(ToEquipmentTask::getSyncFlag, syncFlag)
-                .eq(ToEquipmentTask::getFilePath, filePath)
-                .eq(ToEquipmentTask::getFileEncodeName, fileEncodeName)
-                .list();
+        return list;
     }
 }
diff --git a/src/main/java/com/lxzn/plm/service/impl/PdmProgramSourceServiceImpl.java b/src/main/java/com/lxzn/plm/service/impl/PdmProgramSourceServiceImpl.java
index 88e4d71..fc7120a 100644
--- a/src/main/java/com/lxzn/plm/service/impl/PdmProgramSourceServiceImpl.java
+++ b/src/main/java/com/lxzn/plm/service/impl/PdmProgramSourceServiceImpl.java
@@ -304,8 +304,8 @@
         PdmProgramSource source = new PdmProgramSource();
         try {
             Object[] objects = new  Object[]{ncLog.getSkgxId(),ncLog.getSkgxRevId(),ncLog.getSqzt(),"",""};
-            String program = "{\"code\":1,\"message\":\"\",\"response\":[{\"skgx_id\":\"CX淇℃伅涓績10000070\",\"skgx_rev_id\":\"1\",\"skgx_name\":\"鐒婃帴鏁版帶绋嬪簭\",\"sqzt\":\"S鐘舵�乗",\"ae8nc_cxno\":\"CX淇℃伅涓績10000070\",\"ae8nc_gfrev\":\"1\",\"ae8nc_sbno\":\"2240080\",\"ae8nc_jcid\":\"QJK006\",\"ae8nc_os\":\"鍗庝腑鏁版帶-HNC848C\",\"ae8nc_filename\":\"107052PA5\",\"ae8nc_cxfz\":\"璁$畻鏈轰豢鐪焅",\"ae8nc_operator\":\"\",\"ae8nc_inspect\":\"\",\"ae8nc_acceptview\":\"\",\"ae8nc_cxno_unit\":\"淇℃伅涓績\",\"ae8nc_filename_unit\":\"PA\",\"ae8gallery\":\"\",\"ae8nc_plant\":\"淇℃伅涓績\",\"ae8nc_modelno\":\"jx\",\"ae8nc_batchno\":\"\",\"meop_id\":\"OPHJ000000000049108\",\"meop_rev_id\":\"A\",\"meop_name\":\"鐒婃帴\",\"meop_type\":\"AE8Operation Revision\",\"ae8gx_no\":\"5\",\"process_id\":\"JZG2022008107653\",\"process_rev_id\":\"1\",\"process_name\":\"107052\",\"ae8part_no\":\"107052\",\"ae8stageidentifying\":\"L\",\"ae8gy_type\":\"鏈哄姞宸ヨ壓璁捐\",\"ae8plant\":\"淇℃伅涓績\",\"part_id\":\"1047051\",\"part_rev_id\":\"01\",\"part_name\":\"闆嗘垚娴嬭瘯浠禱",\"create_by\":\"鐢ㄦ埛2(user2)\",\"create_date\":\"02-9鏈�-22 17:15:14\",\"filename\":\"DNC-CX淇℃伅涓績10000070-1.zip\",\"filepath\":\"http://localhost:9099/outer/test/download.xhtml\"}]}\n";
-            //String program =pdmWebClientApi.queryNcProgramAttrInfo(objects);
+            //String program = "{\"code\":1,\"message\":\"\",\"response\":[{\"skgx_id\":\"CX淇℃伅涓績10000070\",\"skgx_rev_id\":\"1\",\"skgx_name\":\"鐒婃帴鏁版帶绋嬪簭\",\"sqzt\":\"S鐘舵�乗",\"ae8nc_cxno\":\"CX淇℃伅涓績10000070\",\"ae8nc_gfrev\":\"1\",\"ae8nc_sbno\":\"2240080\",\"ae8nc_jcid\":\"QJK006\",\"ae8nc_os\":\"鍗庝腑鏁版帶-HNC848C\",\"ae8nc_filename\":\"107052PA5\",\"ae8nc_cxfz\":\"璁$畻鏈轰豢鐪焅",\"ae8nc_operator\":\"\",\"ae8nc_inspect\":\"\",\"ae8nc_acceptview\":\"\",\"ae8nc_cxno_unit\":\"淇℃伅涓績\",\"ae8nc_filename_unit\":\"PA\",\"ae8gallery\":\"\",\"ae8nc_plant\":\"淇℃伅涓績\",\"ae8nc_modelno\":\"jx\",\"ae8nc_batchno\":\"\",\"meop_id\":\"OPHJ000000000049108\",\"meop_rev_id\":\"A\",\"meop_name\":\"鐒婃帴\",\"meop_type\":\"AE8Operation Revision\",\"ae8gx_no\":\"5\",\"process_id\":\"JZG2022008107653\",\"process_rev_id\":\"1\",\"process_name\":\"107052\",\"ae8part_no\":\"107052\",\"ae8stageidentifying\":\"L\",\"ae8gy_type\":\"鏈哄姞宸ヨ壓璁捐\",\"ae8plant\":\"淇℃伅涓績\",\"part_id\":\"1047051\",\"part_rev_id\":\"01\",\"part_name\":\"闆嗘垚娴嬭瘯浠禱",\"create_by\":\"鐢ㄦ埛2(user2)\",\"create_date\":\"02-9鏈�-22 17:15:14\",\"filename\":\"DNC-CX淇℃伅涓績10000070-1.zip\",\"filepath\":\"http://localhost:9099/outer/test/download.xhtml\"}]}\n";
+            String program =pdmWebClientApi.queryNcProgramAttrInfo(objects);
             if (StringUtils.isEmpty(program)) {
                 log.error("======= 鏃� "+ ncLog.getSkgxId()  +" 鏂板璁板綍=======");
                 return false;

--
Gitblit v1.9.3