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