From 046e7e3c76ab6690d5e81566de31868257288df3 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 16 十月 2025 16:54:54 +0800
Subject: [PATCH] 任务导入+翻页修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/TaskImportController.java | 86 ++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java | 3
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignExcel.java | 71 ++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/task/controller/MachineBackTaskController.java | 17 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchTaskController.java | 11 -
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignImpResultExcel.java | 80 ++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskImportService.java | 191 +++++++++++++++++++++++
8 files changed, 446 insertions(+), 15 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchTaskController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchTaskController.java
index 38fde9b..43c0f60 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchTaskController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchTaskController.java
@@ -7,16 +7,12 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.DateUtil;
-import org.flowable.engine.RuntimeService;
-import org.flowable.engine.TaskService;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.excution.StartDispatcher;
-import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.TaskDispatchService;
-import org.springblade.mdm.flow.service.execute.*;
import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
import org.springblade.mdm.flow.vo.FlowStartResult;
import org.springblade.mdm.flow.vo.TaskAssignVO;
@@ -34,13 +30,6 @@
private final StartDispatcher dispatcher;
- private final TaskService taskService;
- private final RuntimeService runtimeService;
- private final FlowProgramFileService flowProgramFileService;
-
-
- private final TryFlowCompleteService tryFlowCompleteService;
- private final DefaultFlowCompleteService defaultFlowCompleteService;
private final TaskDispatchService taskDispatchService;
@Operation(summary = "寮傚父浠诲姟鍒嗛〉鏌ヨ", description = "鏌ヨ鍕ゅ摬鍒嗗伐琛ㄦ暟鎹�")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/TaskImportController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/TaskImportController.java
new file mode 100644
index 0000000..73a42d7
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/TaskImportController.java
@@ -0,0 +1,86 @@
+package org.springblade.mdm.flow.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.HistoryService;
+import org.flowable.engine.TaskService;
+import org.flowable.engine.task.Comment;
+import org.flowable.task.api.history.HistoricTaskInstance;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.oss.model.BladeFile;
+import org.springblade.core.oss.model.OssFile;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.UrlUtil;
+import org.springblade.mdm.commons.service.OssFileCommonService;
+import org.springblade.mdm.flow.excel.TaskAssignExcel;
+import org.springblade.mdm.flow.service.*;
+import org.springblade.mdm.flow.vo.FlowVO;
+import org.springblade.mdm.flow.vo.OvertimeTaskExcelVO;
+import org.springblade.mdm.flow.vo.TaskTraceVO;
+import org.springblade.system.feign.IUserClient;
+import org.springblade.system.pojo.entity.User;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/flow/mgr")
+@Tag(name = "娴佺▼绠$悊", description = "娴佺▼绠$悊")
+public class TaskImportController {
+
+ @Autowired
+ private OssFileCommonService ossFileCommonService;
+ @Autowired
+ private TaskImportService taskImportService;
+
+ @PostMapping("/import-task")
+ @Operation(summary = "瀵煎叆浠诲姟", description = "excel瀵煎叆浠诲姟")
+ public R<BladeFile> importTask(MultipartFile file) {
+ try {
+ List<TaskAssignExcel> importTaskList = ExcelUtil.read(file, TaskAssignExcel.class);
+ if(importTaskList.isEmpty()){
+ return R.fail("鏁版嵁涓虹┖");
+ }
+ BladeFile resultFile = taskImportService.importTask(importTaskList,file.getOriginalFilename());
+ return R.data(resultFile);
+ }catch(Exception e) {
+ log.error("瀵煎叆寮傚父", e);
+ return R.fail(e.getMessage());
+ }
+ }
+ @GetMapping("/download-import-result")
+ @Operation(summary = "浠诲姟瀵煎叆缁撴灉涓嬭浇", description = "浠诲姟瀵煎叆缁撴灉涓嬭浇")
+ public void downloadImportResult(String name,String originalName,HttpServletResponse response) throws IOException {
+ ossFileCommonService.download(name,originalName,response);
+ }
+
+
+ @GetMapping("/download-task-template")
+ @Operation(summary = "浠诲姟妯℃澘涓嬭浇", description = "浠诲姟妯℃澘涓嬭浇")
+ public void downloadTaskTemplate(HttpServletResponse response) {
+ ExcelUtil.export(response,"璁″垝浠诲姟瀵煎叆妯℃澘", "浠诲姟娲惧伐",Collections.emptyList(),TaskAssignExcel.class);
+
+ }
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignExcel.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignExcel.java
new file mode 100644
index 0000000..333c579
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignExcel.java
@@ -0,0 +1,71 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.mdm.flow.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 浠诲姟瀵煎叆excel
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class TaskAssignExcel implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty("闆剁粍浠跺彿")
+ private String drawingNo;
+ @ExcelProperty("鍥惧彿鐗堟")
+ private String drawingNoEdition;
+ @ExcelProperty("宸ュ簭鍙�")
+ private String processNo;
+ @ExcelProperty("宸ュ簭鍚嶇О")
+ private String processName;
+
+
+ @ExcelProperty("宸ュ簭鐗堟")
+ private String processEdition;
+
+ @ExcelProperty("宸ヨ壓鐗堟")
+ private String craftEdition;
+
+ @ExcelProperty("鏈哄簥缂栧彿")
+ private String machineCode;
+
+ @ExcelProperty("涓存椂鏇存敼鍗�")
+ private String deviation;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignImpResultExcel.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignImpResultExcel.java
new file mode 100644
index 0000000..077fd5f
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excel/TaskAssignImpResultExcel.java
@@ -0,0 +1,80 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.mdm.flow.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 浠诲姟瀵煎叆excel
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class TaskAssignImpResultExcel implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty("闆剁粍浠跺彿")
+ private String drawingNo;
+ @ExcelProperty("鍥惧彿鐗堟")
+ private String drawingNoEdition;
+ @ExcelProperty("宸ュ簭鍙�")
+ private String processNo;
+ @ExcelProperty("宸ュ簭鍚嶇О")
+ private String processName;
+
+ @ExcelProperty("浜у搧鍨嬪彿")
+ @ExcelIgnore
+ private String productModel;
+
+ @ExcelProperty("宸ュ簭鐗堟")
+ private String processEdition;
+
+ @ExcelProperty("宸ヨ壓鐗堟")
+ private String craftEdition;
+
+ @ExcelProperty("鏈哄簥缂栧彿")
+ private String machineCode;
+
+ @ExcelProperty("璁惧鍨嬪彿")
+ @ExcelIgnore
+ private String machineMode;
+ @ExcelProperty("涓存椂鏇存敼鍗�")
+ private String deviation;
+
+ @ExcelProperty("閿欒淇℃伅")
+ private String errorMsg;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskImportService.java
new file mode 100644
index 0000000..a4243b3
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskImportService.java
@@ -0,0 +1,191 @@
+package org.springblade.mdm.flow.service;
+
+import com.alibaba.excel.EasyExcel;
+import jodd.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.oss.OssTemplate;
+import org.springblade.core.oss.model.BladeFile;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
+import org.springblade.mdm.basesetting.producedivision.service.QinzheFgbService;
+import org.springblade.mdm.flow.entity.TaskDispatch;
+import org.springblade.mdm.flow.excel.TaskAssignExcel;
+import org.springblade.mdm.flow.excel.TaskAssignImpResultExcel;
+import org.springblade.mdm.flow.excution.StartDispatcher;
+import org.springblade.mdm.flow.vo.FlowStartResult;
+import org.springblade.mdm.flow.vo.TaskAssignVO;
+import org.springblade.mdm.program.service.NcNodeService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍥哄寲娴佺▼鏈嶅姟
+ */
+@Slf4j
+@Service
+public class TaskImportService {
+ @Autowired
+ private OssTemplate ossTemplate;
+ @Autowired
+ private QinzheFgbService qinzheFgbService;
+ @Autowired
+ private MachineService machineService;
+ @Autowired
+ private TaskDispatchService taskDispatchService;
+ @Autowired
+ private StartDispatcher dispatcher;
+ /**
+ * 鍚姩鍥哄寲娴佺▼
+ */
+
+ public BladeFile importTask(List<TaskAssignExcel> importTaskList,String oriFilename) throws IOException {
+ List<TaskAssignImpResultExcel> resultExcelList = new ArrayList<>();
+ for(TaskAssignExcel taskAssignExcel:importTaskList){
+ resultExcelList.add(importOne(taskAssignExcel));
+ }
+ Path resultPath = writeResultFile(resultExcelList);
+ BladeFile bfile;
+ try(InputStream ins = Files.newInputStream(resultPath);){
+ String baseName = FilenameUtils.getBaseName(oriFilename);
+ String ext = FilenameUtils.getExtension(oriFilename);
+ String filename = baseName+"-瀵煎叆缁撴灉" + (StringUtils.isNotBlank(ext)?"."+ext:"");
+ bfile = ossTemplate.putFile(filename,ins);
+ }
+
+ return bfile;
+ }
+
+ /**
+ * 澶勭悊鍗曟潯鏁版嵁
+ * @param excelInput excel鐨勪竴琛屾暟鎹�
+ */
+ TaskAssignImpResultExcel importOne(TaskAssignExcel excelInput){
+
+ TaskAssignImpResultExcel impResult = checkData(excelInput);
+ if(StringUtils.isNotBlank(impResult.getErrorMsg())){
+ impResult.setErrorMsg(impResult.getErrorMsg());
+ return impResult;
+ }
+
+ TaskAssignVO startVO = new TaskAssignVO();
+ BeanUtils.copyProperties(impResult,startVO);
+ startVO.setTitle(NcNodeService.genProgramName(startVO.getDrawingNo(),startVO.getProcessNo(),startVO.getProcessEdition())+"-璁″垝浠诲姟");
+
+ try {
+ boolean isDuplicate = taskDispatchService.checkIsDuplicate(startVO);
+
+ TaskDispatch dispatch = taskDispatchService.saveTask(startVO,isDuplicate);
+ startVO.setCreateUser(dispatch.getCreateUser());
+ if(isDuplicate){
+ impResult.setErrorMsg("閲嶅娲惧伐");
+ }else {
+
+ try {
+ FlowStartResult result = dispatcher.start(startVO);
+ dispatch.setStatus(TaskDispatch.STATUS_STARTED);
+ dispatch.setProcessInstanceId(result.getProcessInstanceId());
+ dispatch.setProgramNo(result.getProgramNo());
+ taskDispatchService.updateById(dispatch);
+ impResult.setErrorMsg("瀵煎叆鎴愬姛");
+ } catch (Exception e) {
+ log.error("瀵煎叆浠诲姟start澶辫触,闆剁粍浠跺彿:{}", excelInput.getDrawingNo(), e);
+ dispatch.setStatus(TaskDispatch.STATUS_EXCEPTION);
+ dispatch.setErrMsg(e.getMessage());
+ taskDispatchService.updateById(dispatch);
+
+ impResult.setErrorMsg(e.getMessage());
+ }
+ }
+ }catch(Exception e){
+ log.error("瀵煎叆澶辫触,闆剁粍浠跺彿:{}",impResult.getDrawingNo(),e);
+ impResult.setErrorMsg(e.getMessage());
+ }
+
+ return impResult;
+ }
+
+ /**
+ * 妫�鏌ユ暟鎹�
+ * @param excelLine 涓�琛宔xcel鏁版嵁
+ */
+ TaskAssignImpResultExcel checkData(TaskAssignExcel excelLine){
+ TaskAssignImpResultExcel resultExcel= new TaskAssignImpResultExcel();
+ BeanUtils.copyProperties(excelLine,resultExcel);
+ //涓虹┖鐨勬暟鎹鏌�
+ List<String> errors = new ArrayList<>();
+ if(StringUtil.isBlank(excelLine.getDrawingNo())){
+ errors.add("闆剁粍浠跺彿涓虹┖");
+ }
+ if(StringUtil.isBlank(excelLine.getProcessNo())){
+ errors.add("宸ュ簭鍙蜂负绌�");
+ }
+
+ if(StringUtil.isBlank(excelLine.getProcessEdition())){
+ errors.add("宸ュ簭鐗堟涓虹┖");
+ }
+ if(StringUtil.isBlank(excelLine.getProcessName())){
+ errors.add("宸ュ簭鍚嶇О涓虹┖");
+ }
+
+ if(StringUtil.isBlank(excelLine.getMachineCode())){
+ errors.add("鏈哄簥缂栧彿涓虹┖");
+ }
+
+ if(!errors.isEmpty()){
+ resultExcel.setErrorMsg(StringUtils.joinWith(",",errors));
+ return resultExcel;
+ }
+
+ try {
+ //ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(excelLine.getDrawingNo());
+ QinzheFgb fgb = qinzheFgbService.getByLjh(excelLine.getDrawingNo());
+ if(fgb == null){
+ errors.add("闆剁粍浠跺彿涓嶅瓨鍦�");
+ }else{
+ resultExcel.setProductModel(fgb.getCph());
+ }
+
+ }catch(ServiceException se){
+ errors.add(se.getMessage());
+ }
+ Machine machine = machineService.getByCode(excelLine.getMachineCode());
+ if(machine == null){
+ errors.add("鏈哄簥缂栧彿涓嶅瓨鍦�");
+ }else{
+ resultExcel.setMachineMode(machine.getName());
+ }
+ if(!errors.isEmpty()) {
+ resultExcel.setErrorMsg(StringUtils.joinWith(",", errors));
+ }
+ return resultExcel;
+ }
+
+ /**
+ * 灏嗗鍏ョ粨鏋滃啓鍏ヤ复鏃舵枃浠�
+ * @param importTaskList 瀵煎叆浠诲姟鍒楄〃
+ * @return 鏂囦欢璺緞
+ * @throws IOException 鍐欏叆鏂囦欢鍙兘鍊掓槸io寮傚父
+ */
+ Path writeResultFile(List<TaskAssignImpResultExcel> importTaskList) throws IOException {
+ Path tempFilePath = Files.createTempFile("impresult",".xlsx");
+
+ String fileName = tempFilePath.toString();
+ EasyExcel.write(fileName, TaskAssignImpResultExcel.class).sheet("瀵煎叆缁撴灉").doWrite(importTaskList);
+
+ return tempFilePath;
+ }
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/task/controller/MachineBackTaskController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/task/controller/MachineBackTaskController.java
index a744d86..1091d70 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/task/controller/MachineBackTaskController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/task/controller/MachineBackTaskController.java
@@ -10,6 +10,7 @@
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.commons.service.OssFileCommonService;
import org.springblade.mdm.gkw.task.service.MachineBackTaskService;
import org.springblade.mdm.gkw.task.vo.MachineBackTaskQueryVO;
@@ -21,9 +22,7 @@
import org.springblade.mdm.machinefile.vo.FileSendRecordVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
@@ -51,4 +50,16 @@
}
return R.data(machineBackTaskService.pageQuery(query));
}
+
+ @Operation(summary = "鍒犻櫎", description = "鍒犻櫎")
+ @PostMapping("/remove")
+ public R<Void> remove(@RequestParam String ids) {
+ try {
+ machineBackTaskService.removeBatchByIds(Func.toLongList(ids));
+ } catch (Exception e) {
+ log.error("鍒犻櫎寮傚父",e);
+ return R.fail(e.getMessage());
+ }
+ return R.success();
+ }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
index a23a423..6a824da 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
@@ -116,6 +116,9 @@
}
for(Long backTaskId : backTaskIdList){
MachineBackTask backTask = machineBackTaskService.getById(backTaskId);
+ if(backTask == null){
+ break;
+ }
List<MachineAcceptedFile> acceptedFiles = machineAcceptedService.listByBackTaskId(backTaskId);
if(acceptedFiles.size() == backTask.getSegCount()) {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
index 4575fe5..330b16b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/CuredProgramStatService.java
@@ -94,7 +94,7 @@
query.orderByProcessInstanceEndTime().desc(); // 鎸夌粨鏉熸椂闂撮檷搴忔帓鍒�
IPage<CuredProgramVO> page = new Page<>();
- long firstResult = (page.getCurrent()-1) * page.getSize();
+ long firstResult = (long) (queryVO.getCurrent() - 1) * queryVO.getSize();
List<HistoricProcessInstance> processes = query.listPage((int)firstResult,(int)queryVO.getSize());
page.setTotal(query.count());
--
Gitblit v1.9.3