From 31ecdb8c700529a59dd762f0c47f0ed9c66d5092 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 25 九月 2025 20:40:07 +0800
Subject: [PATCH] 工控网任务

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java |   61 +++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 7 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java
index ddc42ca..003f07f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java
@@ -1,17 +1,22 @@
 
 package org.springblade.mdm.program.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.mdm.basesetting.machine.service.MachineService;
-import org.springblade.mdm.commons.service.ParamService;
 
 import org.springblade.mdm.flow.vo.ProgramOnMachineExcel;
+import org.springblade.mdm.gkw.task.entity.MachineBackTask;
+import org.springblade.mdm.gkw.task.service.MachineBackTaskService;
 import org.springblade.mdm.program.entity.ProgramOnMachine;
 import org.springblade.mdm.program.mapper.ProgramOnMachineMapper;
+import org.springblade.mdm.program.vo.ProgramOnMachineRecordQueryVO;
+import org.springblade.mdm.program.vo.ProgramOnMachineVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
@@ -19,14 +24,15 @@
 import java.util.*;
 
 /**
- * DNC鍥炰紶鏂囦欢澶勭悊鏈嶅姟
+ * 鐜板満缂栫▼璁板綍澶勭悊鏈嶅姟
  *
  * @author yangys
  */
 @Slf4j
 @Service
-@AllArgsConstructor
 public class ProgramOnMachineService extends BizServiceImpl<ProgramOnMachineMapper, ProgramOnMachine> {
+	@Autowired
+	private MachineBackTaskService machineBackTaskService;
 
 	@Transactional(rollbackFor = Exception.class)
 	public int importData(MultipartFile file) {
@@ -38,20 +44,61 @@
 			return progMachine;
 		}).toList();
 
-		batchSaveData(list);
-
+		List<ProgramOnMachine> savedList = batchSaveData(list);
+		machineBackTaskService.saveBatch(parseMachineBackTask(savedList));
 		return list.size();
 	}
 
-	void batchSaveData(List<ProgramOnMachine> list) {
+	/**
+	 * 灏嗘暟鎹浆鎹负鏈哄簥鍥炰紶浠诲姟
+	 * @param list 鐜板満缂栧埗浠诲姟
+	 * @return 鍥炰紶浠诲姟鍒楄〃
+	 */
+	List<MachineBackTask> parseMachineBackTask(List<ProgramOnMachine> list){
+		List<MachineBackTask> tasks = new ArrayList<>();
+		for(ProgramOnMachine m : list) {
+			MachineBackTask task = new MachineBackTask();
+			task.setProgramName(m.getDrawingNo()+"-"+m.getProcessNo()+"-"+m.getProcessEdition());
+			task.setMachineCode(m.getMachineCode());
+			task.setDeviation(m.getDeviation());
+			task.setTaskType(MachineBackTask.TASK_TYPE_ON_MACHINE);
+			task.setSegCount(0);//鐜板満缂栧埗涓�0
+			tasks.add(task);
+		}
+
+		return tasks;
+	}
+	/**
+	 * 鎵归噺淇濆瓨
+	 * @param list
+	 */
+	List<ProgramOnMachine> batchSaveData(List<ProgramOnMachine> list) {
+		List<ProgramOnMachine> savedList = new ArrayList<>();
 		for (ProgramOnMachine progOnMachine : list) {
 			if(!existsByProcessInstanceId(progOnMachine.getProcessInstanceId())){
 				save(progOnMachine);
+				savedList.add(progOnMachine);
 			}
 		}
+
+		return savedList;
 	}
 
+	/**
+	 * 鏍规嵁娴佺▼瀹炰緥id鍒ゅ畾鏄惁瀛樺湪
+	 * @param processInstanceId 娴佺▼瀹炰緥id
+	 * @return 鏄惁瀛樺湪
+	 */
 	boolean existsByProcessInstanceId(String processInstanceId){
 		return this.lambdaQuery().eq(ProgramOnMachine::getProcessInstanceId,processInstanceId).count() > 0;
 	}
+
+	/**
+	 * 鐜板満缂栫▼瀵煎叆璁板綍鏌ヨ
+	 * @param queryVO 鏌ヨ鏍戞嵁
+	 * @return 鍒嗛〉鏍戞嵁
+	 */
+	public IPage<ProgramOnMachineVO> pageQuery(ProgramOnMachineRecordQueryVO queryVO) {
+		return baseMapper.pageQuery(Condition.getPage(queryVO),queryVO);//IPage<ProgramOnMachineExcel>,queryVO
+	}
 }

--
Gitblit v1.9.3