From f04d6876ff130b240700ba8dec4c9d0a3980a687 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 03 四月 2025 13:10:36 +0800
Subject: [PATCH] 1. 任务明细界面修改 2. 任务历史档数据处理
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 55 +++++++++++++++++++++++++++
rsf-admin/src/page/taskItem/TaskItemList.jsx | 20 ++++------
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskLog.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java | 17 ++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java | 3 +
6 files changed, 89 insertions(+), 12 deletions(-)
diff --git a/rsf-admin/src/page/taskItem/TaskItemList.jsx b/rsf-admin/src/page/taskItem/TaskItemList.jsx
index e92a6b7..e03033d 100644
--- a/rsf-admin/src/page/taskItem/TaskItemList.jsx
+++ b/rsf-admin/src/page/taskItem/TaskItemList.jsx
@@ -110,25 +110,25 @@
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+ {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */}
<SelectColumnsButton preferenceKey='taskItem' />
- <MyExportButton />
+ {/* <MyExportButton /> */}
</TopToolbar>
)}
perPage={DEFAULT_PAGE_SIZE}
>
<StyledDatagrid
preferenceKey='taskItem'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+ // bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
rowClick={(id, resource, record) => false}
- expand={() => <TaskItemPanel />}
+ // expand={() => <TaskItemPanel />}
expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'memo']}
+ omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId']}
>
<NumberField source="id" />
<NumberField source="taskId" label="table.field.taskItem.taskId" />
<NumberField source="orderId" label="table.field.taskItem.orderId" />
- <NumberField source="orderType" label="table.field.taskItem.orderType" />
+ <NumberField source="orderType$" label="table.field.taskItem.orderType" />
<NumberField source="orderItemId" label="table.field.taskItem.orderItemId" />
<NumberField source="matnrId" label="table.field.taskItem.matnrId" />
<TextField source="maktx" label="table.field.taskItem.maktx" />
@@ -149,16 +149,12 @@
<DateField source="createTime" label="common.field.createTime" showTime />
<BooleanField source="statusBool" label="common.field.status" sortable={false} />
<TextField source="memo" label="common.field.memo" sortable={false} />
- <WrapperField cellClassName="opt" label="common.field.opt">
- <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
- <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
- </WrapperField>
</StyledDatagrid>
</List>
- <TaskItemCreate
+ {/* <TaskItemCreate
open={createDialog}
setOpen={setCreateDialog}
- />
+ /> */}
<PageDrawer
title='TaskItem Detail'
drawerVal={drawerVal}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
index 9658a4e..3b7d24a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
@@ -4,6 +4,10 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
@@ -22,6 +26,7 @@
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
import java.util.Date;
+import java.util.Objects;
@Data
@Accessors(chain = true)
@@ -207,6 +212,18 @@
// null // 澶囨敞
// );
+ public String getOrderType$(){
+ if (null == this.orderType) {return null;}
+ DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+ DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+ .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE)
+ .eq(DictData::getValue, this.orderType));
+ if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) {
+ return null;
+ }
+ return dictDatas.getLabel();
+ }
+
public String getStatus$(){
if (null == this.status){ return null; }
switch (this.status){
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java
index 9816e65..498f156 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -22,6 +24,7 @@
import java.util.Date;
@Data
+@Accessors(chain = true)
@TableName("man_task_item_log")
public class TaskItemLog implements Serializable {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskLog.java
index 9dffe19..22db504 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskLog.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskLog.java
@@ -2,6 +2,8 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -26,6 +28,7 @@
import java.util.Date;
@Data
+@Accessors(chain = true)
@TableName("man_task_log")
public class TaskLog implements Serializable {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 7d72b1c..1e857c8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -35,6 +35,10 @@
@Autowired
private TaskItemService taskItemService;
@Autowired
+ private TaskLogService taskLogService;
+ @Autowired
+ private TaskItemLogService taskItemLogService;
+ @Autowired
private StockItemService stockItemService;
@Autowired
private PurchaseService purchaseService;
@@ -63,4 +67,55 @@
}
taskService.completeTask(tasks);
}
+
+
+ /**
+ * @author Ryan
+ * @description 宸插畬鎴愪换鍔″姞鍏ュ巻鍙叉。
+ * @param
+ * @return
+ * @time 2025/4/3 12:54
+ */
+ @Scheduled(cron = "0 0/05 * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void taskLogUpdate() {
+ List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.UPDATED_IN.id));
+ if (tasks.isEmpty()) {
+ return;
+ }
+ List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList());
+ List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list));
+ if (taskItems.isEmpty()) {
+ return;
+ }
+ List<TaskLog> taskLogs = new ArrayList<>();
+ tasks.forEach(task -> {
+ TaskLog taskLog = new TaskLog();
+ BeanUtils.copyProperties(task, taskLog);
+ taskLog.setTaskId(task.getId()).setId(null);
+ taskLogs.add(taskLog);
+ });
+ if (!taskLogService.saveBatch(taskLogs)) {
+ throw new CoolException("浠诲姟鍘嗗彶妗d繚瀛樺け璐ワ紒锛�");
+ }
+ List<TaskItemLog >itemLogs = new ArrayList<>();
+ taskItems.forEach(item -> {
+ TaskItemLog itemLog = new TaskItemLog();
+ BeanUtils.copyProperties(item, itemLog);
+ itemLog.setId(null).setTaskItemId(item.getId());
+ itemLogs.add(itemLog);
+ });
+ if (!taskItemLogService.saveBatch(itemLogs)) {
+ throw new CoolException("浠诲姟鏄庣粏鍘嗗彶妗d繚瀛樺け璐ワ紒锛�");
+ }
+ if (!taskService.removeByIds(list)) {
+ throw new CoolException("鍘熷浠诲姟鍒犻櫎澶辫触锛侊紒");
+ }
+ List<Long> itemIds = taskItems.stream().map(TaskItem::getId).collect(Collectors.toList());
+
+ if (!taskItemService.removeByIds(itemIds)) {
+ throw new CoolException("鍘熷浠诲姟鏄庣粏鍒犻櫎澶辫触锛侊紒");
+ }
+
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 2f22214..e902543 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -192,5 +192,8 @@
if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(Loc::getCode, locCodes))) {
throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
+ if (!this.update(new LambdaUpdateWrapper<Task>().set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
}
}
--
Gitblit v1.9.1