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