From 60486eff49be63700e94ad78ec0eeae056b2b416 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期三, 24 十二月 2025 18:07:25 +0800
Subject: [PATCH] 历史出入库单修改业务时间操作记录-月结相关

---
 src/main/java/com/zy/asrs/entity/OrderTimeChangeLog.java                  |  117 +++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/OrderTimeChangeLogController.java    |   77 +++++++++++++++
 src/main/resources/sql/man_order_time_change_log.sql                      |   29 +++++
 src/main/java/com/zy/asrs/mapper/OrderTimeChangeLogMapper.java            |   12 ++
 src/main/java/com/zy/asrs/service/impl/OrderTimeChangeLogServiceImpl.java |   12 ++
 src/main/java/com/zy/asrs/service/OrderTimeChangeLogService.java          |    8 +
 6 files changed, 255 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderTimeChangeLogController.java b/src/main/java/com/zy/asrs/controller/OrderTimeChangeLogController.java
new file mode 100644
index 0000000..e2994b1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderTimeChangeLogController.java
@@ -0,0 +1,77 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.zy.asrs.entity.OrderTimeChangeLog;
+import com.zy.asrs.service.OrderTimeChangeLogService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("orderTimeChangeLog")
+public class OrderTimeChangeLogController extends BaseController {
+
+    @Autowired
+    private OrderTimeChangeLogService orderTimeChangeLogService;
+
+    /**
+     * 鍒嗛〉鏌ヨ鍙樻洿璁板綍
+     */
+    @PostMapping(value = "/page/auth")
+    @ManagerAuth(memo = "鏌ヨ涓氬姟鏃堕棿鍙樻洿璁板綍")
+    public R page(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderTimeChangeLog> wrapper = new EntityWrapper<>();
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time", false);
+        }
+        return R.ok(orderTimeChangeLogService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    /**
+     * 鏍规嵁璁㈠崟ID鏌ヨ鍙樻洿璁板綍
+     */
+    @PostMapping(value = "/list/byOrderId/auth")
+    @ManagerAuth(memo = "鏍规嵁璁㈠崟ID鏌ヨ鍙樻洿璁板綍")
+    public R listByOrderId(@RequestParam Long orderId) {
+        EntityWrapper<OrderTimeChangeLog> wrapper = new EntityWrapper<>();
+        wrapper.eq("order_id", orderId);
+        wrapper.orderBy("create_time", false);
+        java.util.List<OrderTimeChangeLog> list = orderTimeChangeLogService.selectList(wrapper);
+        // 璁剧疆鍒涘缓浜哄悕绉�
+        if (list != null) {
+            for (OrderTimeChangeLog log : list) {
+                log.setCreateByName(log.getCreateByName());
+            }
+        }
+        return R.ok(list);
+    }
+
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            String key = entry.getKey();
+            String val = String.valueOf(entry.getValue());
+            if (Cools.isEmpty(val) || "null".equals(val)) {
+                continue;
+            }
+            if ("order_id".equals(key) || "orderId".equals(key)) {
+                wrapper.eq(key, val);
+            } else {
+                wrapper.like(key, val);
+            }
+        }
+    }
+}
+
diff --git a/src/main/java/com/zy/asrs/entity/OrderTimeChangeLog.java b/src/main/java/com/zy/asrs/entity/OrderTimeChangeLog.java
new file mode 100644
index 0000000..98bb8f5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderTimeChangeLog.java
@@ -0,0 +1,117 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("man_order_time_change_log")
+public class OrderTimeChangeLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 璁㈠崟ID
+     */
+    @ApiModelProperty(value = "璁㈠崟ID")
+    @TableField("order_id")
+    private Long orderId;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 璁㈠崟绫诲瀷 1:鍏ュ簱 2:鍑哄簱
+     */
+    @ApiModelProperty(value = "璁㈠崟绫诲瀷 1:鍏ュ簱 2:鍑哄簱")
+    @TableField("order_type")
+    private Integer orderType;
+
+    /**
+     * 鍘熶笟鍔℃椂闂�
+     */
+    @ApiModelProperty(value = "鍘熶笟鍔℃椂闂�")
+    @TableField("old_order_time")
+    private String oldOrderTime;
+
+    /**
+     * 鏂颁笟鍔℃椂闂�
+     */
+    @ApiModelProperty(value = "鏂颁笟鍔℃椂闂�")
+    @TableField("new_order_time")
+    private String newOrderTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String memo;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 鍒涘缓浜哄悕绉�
+     */
+    @ApiModelProperty(value = "鍒涘缓浜哄悕绉�")
+    @TableField(exist = false)
+    private String createByName;
+
+    public String getCreateByName() {
+        if (createByName != null) {
+            return createByName;
+        }
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.createBy);
+        if (!Cools.isEmpty(user)) {
+            return user.getUsername();
+        }
+        if (this.createBy != null && this.createBy == 9527) {
+            return "super";
+        }
+        return null;
+    }
+
+    public String getCreateTime$() {
+        if (Cools.isEmpty(this.createTime)) {
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+}
+
diff --git a/src/main/java/com/zy/asrs/mapper/OrderTimeChangeLogMapper.java b/src/main/java/com/zy/asrs/mapper/OrderTimeChangeLogMapper.java
new file mode 100644
index 0000000..19d0d20
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/OrderTimeChangeLogMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.OrderTimeChangeLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface OrderTimeChangeLogMapper extends BaseMapper<OrderTimeChangeLog> {
+}
+
diff --git a/src/main/java/com/zy/asrs/service/OrderTimeChangeLogService.java b/src/main/java/com/zy/asrs/service/OrderTimeChangeLogService.java
new file mode 100644
index 0000000..ff614e4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderTimeChangeLogService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderTimeChangeLog;
+
+public interface OrderTimeChangeLogService extends IService<OrderTimeChangeLog> {
+}
+
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderTimeChangeLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderTimeChangeLogServiceImpl.java
new file mode 100644
index 0000000..cf07f1d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderTimeChangeLogServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.OrderTimeChangeLog;
+import com.zy.asrs.mapper.OrderTimeChangeLogMapper;
+import com.zy.asrs.service.OrderTimeChangeLogService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class OrderTimeChangeLogServiceImpl extends ServiceImpl<OrderTimeChangeLogMapper, OrderTimeChangeLog> implements OrderTimeChangeLogService {
+}
+
diff --git a/src/main/resources/sql/man_order_time_change_log.sql b/src/main/resources/sql/man_order_time_change_log.sql
new file mode 100644
index 0000000..52904f6
--- /dev/null
+++ b/src/main/resources/sql/man_order_time_change_log.sql
@@ -0,0 +1,29 @@
+-- 涓氬姟鏃堕棿鍙樻洿璁板綍琛�
+CREATE TABLE [man_order_time_change_log] (
+  [id] bigint NOT NULL IDENTITY(1,1),
+  [order_id] bigint NOT NULL,
+  [order_no] varchar(255) NOT NULL,
+  [order_type] int NOT NULL,
+  [old_order_time] varchar(255) NOT NULL,
+  [new_order_time] varchar(255) NOT NULL,
+  [memo] varchar(500) DEFAULT NULL,
+  [create_by] bigint DEFAULT NULL,
+  [create_time] datetime DEFAULT NULL,
+  PRIMARY KEY ([id])
+);
+
+CREATE INDEX [idx_order_id] ON [man_order_time_change_log] ([order_id]);
+CREATE INDEX [idx_order_no] ON [man_order_time_change_log] ([order_no]);
+CREATE INDEX [idx_create_time] ON [man_order_time_change_log] ([create_time]);
+
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'涓氬姟鏃堕棿鍙樻洿璁板綍琛�', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'id';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'璁㈠崟ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_id';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'鍗曟嵁缂栧彿', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_no';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'璁㈠崟绫诲瀷 1:鍏ュ簱 2:鍑哄簱', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_type';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'鍘熶笟鍔℃椂闂�', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'old_order_time';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'鏂颁笟鍔℃椂闂�', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'new_order_time';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'澶囨敞', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'memo';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'鍒涘缓浜�', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'create_by';
+EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'鍒涘缓鏃堕棿', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'create_time';
+

--
Gitblit v1.9.1