From 7180e7e7c548c78f327a9f66c2bc89af64039e7e Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 12 六月 2024 13:10:38 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java | 35 +++++++++++++++++++++++++++++++++-- 1 files changed, 33 insertions(+), 2 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java index 66edce3..0b065ac 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java @@ -1,18 +1,23 @@ package com.zy.asrs.wcs.core.timer; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.wcs.core.entity.Loc; import com.zy.asrs.wcs.core.entity.Task; +import com.zy.asrs.wcs.core.entity.TaskLog; import com.zy.asrs.wcs.core.model.enums.LocStsType; import com.zy.asrs.wcs.core.model.enums.TaskStsType; import com.zy.asrs.wcs.core.service.LocService; +import com.zy.asrs.wcs.core.service.TaskLogService; import com.zy.asrs.wcs.core.service.TaskService; import lombok.extern.slf4j.Slf4j; 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 java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @@ -22,9 +27,12 @@ @Autowired private TaskService taskService; @Autowired + private TaskLogService taskLogService; + @Autowired private LocService locService; @Scheduled(cron = "0/1 * * * * ? ") + @Transactional public synchronized void clearCompletedTask() { ArrayList<Long> taskSts = new ArrayList<>(); taskSts.add(TaskStsType.COMPLETE_INBOUND.sts); @@ -39,12 +47,18 @@ for (Task task : tasks) { //璁板綍搴撳瓨淇℃伅 updateRecordLoc(task); + //浠诲姟杞巻鍙叉。 + saveTaskLog(task); } - } //鏇存柊搴撳瓨淇℃伅 - private void updateRecordLoc(Task task) { + @Transactional + public void updateRecordLoc(Task task) { + if (task.getRecordLoc() == null) { + return; + } + if (task.getRecordLoc().equals("Y")) {//璁板綍搴撳瓨淇℃伅 //婧愬簱浣� => 绌哄簱 //鐩爣搴撲綅 => 鍦ㄥ簱 @@ -60,6 +74,7 @@ locService.updateById(destLoc); } } else if (task.getRecordLoc().equals("record-dest")) {//鍙褰曠洰鏍囧簱浣嶄俊鎭� + //鐩爣搴撲綅 => 鍦ㄥ簱 Loc destLoc = locService.selectByLocNo(task.getDestLoc()); if (destLoc != null) { destLoc.setLocSts(LocStsType.F.val()); @@ -68,4 +83,20 @@ } } + //鏇存柊鍘嗗彶妗� + @Transactional + public void saveTaskLog(Task task) { + //鍒涘缓鍘嗗彶妗� + Date date = new Date(); + TaskLog taskLog = new TaskLog(); + taskLog.setTaskNo(task.getTaskNo()); + taskLog.setTaskData(JSON.toJSONString(task)); + taskLog.setCreateTime(date); + taskLog.setUpdateTime(date); + taskLogService.save(taskLog); + + //鍒犻櫎婧愪换鍔� + taskService.removeById(task.getId()); + } + } -- Gitblit v1.9.1