From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java | 566 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 300 insertions(+), 266 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
index cde400b..fc9ad3c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
@@ -1,266 +1,300 @@
-package com.zy.asrs.wms.asrs.timer;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.plugins.IgnoreStrategy;
-import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
-import com.zy.asrs.framework.exception.CoolException;
-import com.zy.asrs.wms.asrs.entity.*;
-import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
-import com.zy.asrs.wms.asrs.service.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
-
-import java.util.Date;
-import java.util.List;
-
-@Component
-public class TaskLogTimer {
-
- @Autowired
- private TaskService taskService;
- @Autowired
- private TaskDetlService taskDetlService;
- @Autowired
- private TaskDetlFieldService taskDetlFieldService;
- @Autowired
- private TaskLogService taskLogService;
- @Autowired
- private TaskDetlLogService taskDetlLogService;
- @Autowired
- private TaskDetlFieldLogService taskDetlFieldLogService;
- @Autowired
- private OrderService orderService;
- @Autowired
- private OrderDetlService orderDetlService;
-
- @Scheduled(cron = "0/3 * * * * ? ")
- @Transactional
- public void inExecute() {
- InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
- try {
- //鑾峰彇鍏ュ簱瀹屾垚浠诲姟
- List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, 100));
- if (list.isEmpty()) {
- return;
- }
-
- for (Task task : list) {
- Long hostId = task.getHostId();
-
- //淇濆瓨浠诲姟鍘嗗彶妗�
- TaskLog taskLog = new TaskLog();
- taskLog.sync(task);
- taskLog.setId(null);
- if (!taskLogService.save(taskLog)) {
- throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�");
- }
-
- //鍒犻櫎浠诲姟鍘嗗彶妗f
- if (!taskService.removeById(task.getId())) {
- throw new CoolException("鍒犻櫎浠诲姟妗eけ璐�");
- }
-
- //淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗�
- List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId());
- if (taskDetls.isEmpty()) {
- throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
- }
- for (TaskDetl taskDetl : taskDetls) {
- TaskDetlLog taskDetlLog = new TaskDetlLog();
- taskDetlLog.sync(taskDetl);
- taskDetlLog.setId(null);
- taskDetlLog.setTaskId(taskLog.getId());
- if (!taskDetlLogService.save(taskDetlLog)) {
- throw new CoolException("淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗eけ璐�");
- }
-
- //淇濆瓨鏄庣粏鎵╁睍瀛楁鍘嗗彶妗�
- List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId()).eq(TaskDetlField::getHostId, hostId));
- for (TaskDetlField detlField : detlFields) {
- //鏄庣粏鎵╁睍瀛楁鏁版嵁淇濆瓨鑷冲巻鍙叉。
- TaskDetlFieldLog taskDetlFieldLog = new TaskDetlFieldLog();
- taskDetlFieldLog.sync(detlField);
- taskDetlFieldLog.setId(null);
- taskDetlFieldLog.setDetlId(taskDetlLog.getId());
- if (!taskDetlFieldLogService.save(taskDetlFieldLog)) {
- throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。妗堝け璐�");
- }
-
- //鍒犻櫎鏄庣粏鎵╁睍
- boolean removeField = taskDetlFieldService.removeById(detlField.getId());
- if (!removeField) {
- throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍澶辫触");
- }
- }
-
- //鍒犻櫎鏄庣粏
- boolean removeDetl = taskDetlService.removeById(taskDetl.getId());
- if (!removeDetl) {
- throw new CoolException("鏄庣粏鍒犻櫎澶辫触");
- }
- }
-
- //鏇存柊璁㈠崟淇℃伅
- for (TaskDetl taskDetl : taskDetls) {
- if (taskDetl.getDetlId() == null) {
- continue;
- }
-
- OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
- if (orderDetl == null) {
- throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
- }
-
- orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
- orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
- orderDetl.setUpdateTime(new Date());
- if (!orderDetlService.updateById(orderDetl)) {
- throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
- }
-
- //妫�娴嬭鍗曟槸鍚﹀畬鎴�
- boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
- if (checkOrderComplete) {
- //璁㈠崟宸茬粡瀹屾垚
- Order order = orderService.getById(orderDetl.getOrderId());
- if (order == null) {
- throw new CoolException("璁㈠崟涓嶅瓨鍦�");
- }
-
- order.setOrderSettle(OrderSettleType.COMPLETE.val());
- order.setUpdateTime(new Date());
- if (!orderService.updateById(order)) {
- throw new CoolException("璁㈠崟鏇存柊澶辫触");
- }
- }
- }
-
-
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- } finally {
- InterceptorIgnoreHelper.clearIgnoreStrategy();
- }
- }
-
- @Scheduled(cron = "0/3 * * * * ? ")
- @Transactional
- public void outExecute() {
- InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
- try {
- //鑾峰彇鍏ュ簱瀹屾垚浠诲姟
- List<Task> list = taskService.list(new LambdaQueryWrapper<Task>()
- .eq(Task::getTaskSts, 200)
- .in(Task::getTaskType, 101, 53, 57));
- if (list.isEmpty()) {
- return;
- }
-
- for (Task task : list) {
- Long hostId = task.getHostId();
-
- //淇濆瓨浠诲姟鍘嗗彶妗�
- TaskLog taskLog = new TaskLog();
- taskLog.sync(task);
- taskLog.setId(null);
- if (!taskLogService.save(taskLog)) {
- throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�");
- }
-
- //鍒犻櫎浠诲姟鍘嗗彶妗f
- if (!taskService.removeById(task.getId())) {
- throw new CoolException("鍒犻櫎浠诲姟妗eけ璐�");
- }
-
- //淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗�
- List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId());
- if (taskDetls.isEmpty()) {
- throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
- }
- for (TaskDetl taskDetl : taskDetls) {
- TaskDetlLog taskDetlLog = new TaskDetlLog();
- taskDetlLog.sync(taskDetl);
- taskDetlLog.setId(null);
- taskDetlLog.setTaskId(taskLog.getId());
- if (!taskDetlLogService.save(taskDetlLog)) {
- throw new CoolException("淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗eけ璐�");
- }
-
- //淇濆瓨鏄庣粏鎵╁睍瀛楁鍘嗗彶妗�
- List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId()).eq(TaskDetlField::getHostId, hostId));
- for (TaskDetlField detlField : detlFields) {
- //鏄庣粏鎵╁睍瀛楁鏁版嵁淇濆瓨鑷冲巻鍙叉。
- TaskDetlFieldLog taskDetlFieldLog = new TaskDetlFieldLog();
- taskDetlFieldLog.sync(detlField);
- taskDetlFieldLog.setId(null);
- taskDetlFieldLog.setDetlId(taskDetlLog.getId());
- if (!taskDetlFieldLogService.save(taskDetlFieldLog)) {
- throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。妗堝け璐�");
- }
-
- //鍒犻櫎鏄庣粏鎵╁睍
- boolean removeField = taskDetlFieldService.removeById(detlField.getId());
- if (!removeField) {
- throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍澶辫触");
- }
- }
-
- //鍒犻櫎鏄庣粏
- boolean removeDetl = taskDetlService.removeById(taskDetl.getId());
- if (!removeDetl) {
- throw new CoolException("鏄庣粏鍒犻櫎澶辫触");
- }
- }
-
- //鏇存柊璁㈠崟淇℃伅
- for (TaskDetl taskDetl : taskDetls) {
- if (taskDetl.getDetlId() == null) {
- continue;
- }
-
- OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
- if (orderDetl == null) {
- throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
- }
-
- orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
- orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
- orderDetl.setUpdateTime(new Date());
- if (!orderDetlService.updateById(orderDetl)) {
- throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
- }
-
- //妫�娴嬭鍗曟槸鍚﹀畬鎴�
- boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
- if (checkOrderComplete) {
- //璁㈠崟宸茬粡瀹屾垚
- Order order = orderService.getById(orderDetl.getOrderId());
- if (order == null) {
- throw new CoolException("璁㈠崟涓嶅瓨鍦�");
- }
-
- order.setOrderSettle(OrderSettleType.COMPLETE.val());
- order.setUpdateTime(new Date());
- if (!orderService.updateById(order)) {
- throw new CoolException("璁㈠崟鏇存柊澶辫触");
- }
- }
- }
-
-
- }
- } catch (Exception e) {
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- } finally {
- InterceptorIgnoreHelper.clearIgnoreStrategy();
- }
- }
-
-}
+package com.zy.asrs.wms.asrs.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.plugins.IgnoreStrategy;
+import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
+import com.zy.asrs.framework.common.DateUtils;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.*;
+import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
+import com.zy.asrs.wms.asrs.entity.enums.TaskStsType;
+import com.zy.asrs.wms.asrs.service.*;
+import com.zy.asrs.wms.system.entity.Dict;
+import com.zy.asrs.wms.system.service.DictService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Component
+public class TaskLogTimer {
+
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private TaskDetlService taskDetlService;
+ @Autowired
+ private TaskDetlFieldService taskDetlFieldService;
+ @Autowired
+ private TaskLogService taskLogService;
+ @Autowired
+ private TaskDetlLogService taskDetlLogService;
+ @Autowired
+ private TaskDetlFieldLogService taskDetlFieldLogService;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private DictService dictService;
+ @Autowired
+ private WaveService waveService;
+
+
+ /**
+ * @author Ryan
+ * @date 2025/6/20
+ * @description: 鍏ュ簱浠诲姟宸插畬鎴�
+ * @version 1.0
+ */
+ @Scheduled(cron = "0/15 * * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void inExecute() {
+ InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
+ try {
+ //鑾峰彇鍏ュ簱瀹屾垚浠诲姟
+ List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.UPDATED_IN.id));
+ if (list.isEmpty()) {
+ return;
+ }
+
+ for (Task task : list) {
+ Long hostId = task.getHostId();
+ //淇濆瓨浠诲姟鍘嗗彶妗�
+ TaskLog taskLog = new TaskLog();
+ taskLog.sync(task);
+ taskLog.setId(null);
+ if (!taskLogService.save(taskLog)) {
+ throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�");
+ }
+ //淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗�
+ List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId());
+
+ if (taskDetls.isEmpty()) {
+ throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
+ } else {
+ //浠诲姟绫诲瀷涓�53锛屾牴鎹甒aveId淇敼璁㈠崟鏄庣粏
+ for (TaskDetl taskDetl : taskDetls) {
+ if (taskDetl.getDetlId() == null) {
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
+ orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
+ orderDetl.setUpdateTime(new Date());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
+ //妫�娴嬭鍗曟槸鍚﹀畬鎴�
+ boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
+
+ if (checkOrderComplete) {
+ //璁㈠崟宸茬粡瀹屾垚
+ Order order = orderService.getById(orderDetl.getOrderId());
+ if (order == null) {
+ throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+ }
+ order.setOrderSettle(OrderSettleType.COMPLETE.val());
+ order.setUpdateTime(new Date());
+ if (!orderService.updateById(order)) {
+ throw new CoolException("璁㈠崟鏇存柊澶辫触");
+ }
+
+ }
+ }
+ }
+
+ //鍒犻櫎浠诲姟鍘嗗彶妗f
+ if (!taskService.removeById(task.getId())) {
+ throw new CoolException("鍒犻櫎浠诲姟妗eけ璐�");
+ }
+
+ for (TaskDetl taskDetl : taskDetls) {
+ TaskDetlLog taskDetlLog = new TaskDetlLog();
+ taskDetlLog.sync(taskDetl);
+ taskDetlLog.setOrderId(taskDetl.getOrderId());
+ taskDetlLog.setId(null);
+ taskDetlLog.setTaskId(taskLog.getId());
+ if (!taskDetlLogService.save(taskDetlLog)) {
+ throw new CoolException("淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗eけ璐�");
+ }
+
+ //淇濆瓨鏄庣粏鎵╁睍瀛楁鍘嗗彶妗�
+ List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId()).eq(TaskDetlField::getHostId, hostId));
+ for (TaskDetlField detlField : detlFields) {
+ //鏄庣粏鎵╁睍瀛楁鏁版嵁淇濆瓨鑷冲巻鍙叉。
+ TaskDetlFieldLog taskDetlFieldLog = new TaskDetlFieldLog();
+ taskDetlFieldLog.sync(detlField);
+ taskDetlFieldLog.setId(null);
+ taskDetlFieldLog.setDetlId(taskDetlLog.getId());
+ if (!taskDetlFieldLogService.save(taskDetlFieldLog)) {
+ throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。妗堝け璐�");
+ }
+
+ //鍒犻櫎鏄庣粏鎵╁睍
+ boolean removeField = taskDetlFieldService.removeById(detlField.getId());
+ if (!removeField) {
+ throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍澶辫触");
+ }
+ }
+
+ //鍒犻櫎鏄庣粏
+ boolean removeDetl = taskDetlService.removeById(taskDetl.getId());
+ if (!removeDetl) {
+ throw new CoolException("鏄庣粏鍒犻櫎澶辫触");
+ }
+ }
+
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ } finally {
+ InterceptorIgnoreHelper.clearIgnoreStrategy();
+ }
+ }
+
+
+ /**
+ * @author Ryan
+ * @date 2025/6/20
+ * @description: 鍑哄簱浠诲姟瀹屾垚
+ * @version 1.0
+ */
+ @Scheduled(cron = "0/35 * * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void outExecute() {
+ InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
+ try {
+ //鑾峰彇鍑哄簱瀹屾垚浠诲姟
+ List<Task> list = taskService.list(new LambdaQueryWrapper<Task>()
+ .eq(Task::getTaskSts, TaskStsType.UPDATED_OUT.id)
+ .ge(Task::getTaskType, 101));
+ if (list.isEmpty()) {
+ return;
+ }
+
+ for (Task task : list) {
+ Long hostId = task.getHostId();
+ //淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗�
+ List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId());
+ if (taskDetls.isEmpty()) {
+ throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
+ }
+ boolean flag = false;
+ for (TaskDetl taskDetl : taskDetls) {
+ if (taskDetl.getWaveId() == null) {
+ continue;
+ }
+ Wave wave = waveService.getById(taskDetl.getWaveId());
+ if (wave != null) {
+ flag = true;//娉㈡鏈畬鎴�
+ break;
+ }
+ }
+ if (flag) {
+ continue;
+ }
+ //淇濆瓨浠诲姟鍘嗗彶妗�
+ TaskLog taskLog = new TaskLog();
+ taskLog.sync(task);
+ taskLog.setId(null);
+ if (!taskLogService.save(taskLog)) {
+ throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�");
+ } else {
+ //鏇存柊璁㈠崟淇℃伅
+ taskDetls.forEach(taskDetl -> {
+ if (taskDetl.getDetlId() != null) {
+ OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+
+ orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
+ orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
+ orderDetl.setUpdateTime(new Date());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
+
+ //妫�娴嬭鍗曟槸鍚﹀畬鎴�
+ boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
+ if (checkOrderComplete) {
+ //璁㈠崟宸茬粡瀹屾垚
+ Order order = orderService.getById(orderDetl.getOrderId());
+ if (order == null) {
+ throw new CoolException("璁㈠崟涓嶅瓨鍦�");
+ }
+
+ order.setOrderSettle(OrderSettleType.COMPLETE.val());
+ order.setUpdateTime(new Date());
+ if (!orderService.updateById(order)) {
+ throw new CoolException("璁㈠崟鏇存柊澶辫触");
+ }
+ }
+ }
+ });
+ }
+
+ //鍒犻櫎浠诲姟鍘嗗彶妗f
+ if (!taskService.removeById(task.getId())) {
+ throw new CoolException("鍒犻櫎浠诲姟妗eけ璐�");
+ }
+
+ for (TaskDetl taskDetl : taskDetls) {
+ TaskDetlLog taskDetlLog = new TaskDetlLog();
+ taskDetlLog.sync(taskDetl);
+ taskDetlLog.setId(null);
+ taskDetlLog.setTaskId(taskLog.getId());
+ if (!taskDetlLogService.save(taskDetlLog)) {
+ throw new CoolException("淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗eけ璐�");
+ }
+
+ //淇濆瓨鏄庣粏鎵╁睍瀛楁鍘嗗彶妗�
+ List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId()).eq(TaskDetlField::getHostId, hostId));
+ for (TaskDetlField detlField : detlFields) {
+ //鏄庣粏鎵╁睍瀛楁鏁版嵁淇濆瓨鑷冲巻鍙叉。
+ TaskDetlFieldLog taskDetlFieldLog = new TaskDetlFieldLog();
+ taskDetlFieldLog.sync(detlField);
+ taskDetlFieldLog.setId(null);
+ taskDetlFieldLog.setDetlId(taskDetlLog.getId());
+ if (!taskDetlFieldLogService.save(taskDetlFieldLog)) {
+ throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。妗堝け璐�");
+ }
+
+ //鍒犻櫎鏄庣粏鎵╁睍
+ boolean removeField = taskDetlFieldService.removeById(detlField.getId());
+ if (!removeField) {
+ throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍澶辫触");
+ }
+ }
+
+ //鍒犻櫎鏄庣粏
+ boolean removeDetl = taskDetlService.removeById(taskDetl.getId());
+ if (!removeDetl) {
+ throw new CoolException("鏄庣粏鍒犻櫎澶辫触");
+ }
+ }
+
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ } finally {
+ InterceptorIgnoreHelper.clearIgnoreStrategy();
+ }
+ }
+
+}
--
Gitblit v1.9.1