From 644c1f6fca11931edaf89009922c5533be08293c Mon Sep 17 00:00:00 2001
From: xiaocp2009 <39615122+xiaocp2009@users.noreply.github.com>
Date: Wed, 20 Aug 2025 09:01:28 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=8F=9C=E5=8D=95=E5=9B=BE=E6=A0=87?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0=202=E3=80=81=E6=B3=A8=E5=86=8C=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=E5=B1=8F=E8=94=BD=203=E3=80=81=E6=89=B9=E9=87=8F?=
=?UTF-8?q?=E5=85=B3=E9=97=ADV1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/assets/svg-icon/menu/bili.svg | 1 +
.../src/assets/svg-icon/menu/bili1.svg | 1 +
.../src/assets/svg-icon/menu/bumen.svg | 1 +
.../src/assets/svg-icon/menu/candan.svg | 1 +
.../src/assets/svg-icon/menu/canshu.svg | 1 +
.../src/assets/svg-icon/menu/ceshi.svg | 1 +
.../src/assets/svg-icon/menu/daima.svg | 1 +
.../src/assets/svg-icon/menu/daoru1.svg | 1 +
.../src/assets/svg-icon/menu/gangwei.svg | 1 +
.../src/assets/svg-icon/menu/gongju.svg | 1 +
.../src/assets/svg-icon/menu/guize.svg | 1 +
.../src/assets/svg-icon/menu/hedui.svg | 1 +
.../src/assets/svg-icon/menu/huancun.svg | 1 +
.../src/assets/svg-icon/menu/jiankong.svg | 1 +
.../src/assets/svg-icon/menu/jieguo1.svg | 1 +
.../src/assets/svg-icon/menu/jieguo2.svg | 1 +
.../src/assets/svg-icon/menu/juese.svg | 1 +
.../src/assets/svg-icon/menu/kehuduan.svg | 1 +
.../src/assets/svg-icon/menu/luru1.svg | 1 +
.../src/assets/svg-icon/menu/luru2.svg | 1 +
.../src/assets/svg-icon/menu/rizhi.svg | 1 +
.../src/assets/svg-icon/menu/shangyou.svg | 1 +
.../src/assets/svg-icon/menu/taocan.svg | 1 +
.../src/assets/svg-icon/menu/user-manage.svg | 1 +
.../src/assets/svg-icon/menu/yingxiao.svg | 1 +
.../src/assets/svg-icon/menu/zaixian.svg | 1 +
.../src/assets/svg-icon/menu/zhonglei.svg | 1 +
.../src/assets/svg-icon/menu/zidian.svg | 1 +
.../src/assets/svg-icon/menu/ziyuan.svg | 1 +
.../src/assets/svg-icon/menu/zuhu.svg | 1 +
.../src/assets/svg-icon/menu/zuhu1.svg | 1 +
.../src/service/api/mps/batch.ts | 20 ++
.../src/typings/api/mps.batch.api.d.ts | 63 +++++
.../_builtin/login/modules/pwd-login.vue | 4 +-
.../src/views/mps/batch/index.vue | 238 ++++++++++++++++++
.../batch/modules/batch-operate-drawer.vue | 178 +++++++++++++
.../views/mps/batch/modules/batch-search.vue | 78 ++++++
.../mps/controller/MpsBatchController.java | 54 ++++
.../java/org/dromara/mps/domain/MpsBatch.java | 69 +++++
.../org/dromara/mps/domain/bo/MpsBatchBo.java | 74 ++++++
.../org/dromara/mps/domain/vo/MpsBatchVo.java | 86 +++++++
.../dromara/mps/mapper/MpsBatchMapper.java | 27 ++
.../dromara/mps/service/IMpsBatchService.java | 40 +++
.../mps/service/impl/MpsBatchServiceImpl.java | 77 ++++++
.../resources/mapper/mps/MpsBatchMapper.xml | 33 +++
45 files changed, 1070 insertions(+), 2 deletions(-)
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/bili.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/bili1.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/bumen.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/candan.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/canshu.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/ceshi.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/daima.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/daoru1.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/gangwei.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/gongju.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/guize.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/hedui.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/huancun.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/jiankong.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo1.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo2.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/juese.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/kehuduan.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/luru1.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/luru2.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/rizhi.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/shangyou.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/taocan.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/user-manage.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/yingxiao.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/zaixian.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/zhonglei.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/zidian.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/ziyuan.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu.svg
create mode 100644 cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu1.svg
create mode 100644 cds-fontend-2025.V1/src/service/api/mps/batch.ts
create mode 100644 cds-fontend-2025.V1/src/typings/api/mps.batch.api.d.ts
create mode 100644 cds-fontend-2025.V1/src/views/mps/batch/index.vue
create mode 100644 cds-fontend-2025.V1/src/views/mps/batch/modules/batch-operate-drawer.vue
create mode 100644 cds-fontend-2025.V1/src/views/mps/batch/modules/batch-search.vue
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/controller/MpsBatchController.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/MpsBatch.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/bo/MpsBatchBo.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/vo/MpsBatchVo.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/mapper/MpsBatchMapper.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/IMpsBatchService.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/impl/MpsBatchServiceImpl.java
create mode 100644 cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/resources/mapper/mps/MpsBatchMapper.xml
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili.svg
new file mode 100644
index 0000000..66ad53a
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili1.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili1.svg
new file mode 100644
index 0000000..baed132
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bili1.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/bumen.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bumen.svg
new file mode 100644
index 0000000..ed8668f
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/bumen.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/candan.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/candan.svg
new file mode 100644
index 0000000..fbbbf37
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/candan.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/canshu.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/canshu.svg
new file mode 100644
index 0000000..86436e5
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/canshu.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/ceshi.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/ceshi.svg
new file mode 100644
index 0000000..a8cbd0f
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/ceshi.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/daima.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/daima.svg
new file mode 100644
index 0000000..1139e9c
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/daima.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/daoru1.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/daoru1.svg
new file mode 100644
index 0000000..5cd7ed9
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/daoru1.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/gangwei.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/gangwei.svg
new file mode 100644
index 0000000..e7fc42d
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/gangwei.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/gongju.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/gongju.svg
new file mode 100644
index 0000000..081b81f
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/gongju.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/guize.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/guize.svg
new file mode 100644
index 0000000..aea5639
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/guize.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/hedui.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/hedui.svg
new file mode 100644
index 0000000..7d543d6
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/hedui.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/huancun.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/huancun.svg
new file mode 100644
index 0000000..ba94c24
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/huancun.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/jiankong.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jiankong.svg
new file mode 100644
index 0000000..5445e72
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jiankong.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo1.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo1.svg
new file mode 100644
index 0000000..22ccfd4
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo1.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo2.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo2.svg
new file mode 100644
index 0000000..1310890
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/jieguo2.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/juese.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/juese.svg
new file mode 100644
index 0000000..2758452
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/juese.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/kehuduan.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/kehuduan.svg
new file mode 100644
index 0000000..b4189f5
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/kehuduan.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru1.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru1.svg
new file mode 100644
index 0000000..03dce19
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru1.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru2.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru2.svg
new file mode 100644
index 0000000..5f253a7
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/luru2.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/rizhi.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/rizhi.svg
new file mode 100644
index 0000000..bfeb5a9
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/rizhi.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/shangyou.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/shangyou.svg
new file mode 100644
index 0000000..4006373
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/shangyou.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/taocan.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/taocan.svg
new file mode 100644
index 0000000..442301c
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/taocan.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/user-manage.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/user-manage.svg
new file mode 100644
index 0000000..c655db0
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/user-manage.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/yingxiao.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/yingxiao.svg
new file mode 100644
index 0000000..ee40566
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/yingxiao.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/zaixian.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zaixian.svg
new file mode 100644
index 0000000..cf5b97f
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zaixian.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/zhonglei.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zhonglei.svg
new file mode 100644
index 0000000..734a1ed
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zhonglei.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/zidian.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zidian.svg
new file mode 100644
index 0000000..6538a70
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zidian.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/ziyuan.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/ziyuan.svg
new file mode 100644
index 0000000..f682df4
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/ziyuan.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu.svg
new file mode 100644
index 0000000..fea770b
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu1.svg b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu1.svg
new file mode 100644
index 0000000..b873a4d
--- /dev/null
+++ b/cds-fontend-2025.V1/src/assets/svg-icon/menu/zuhu1.svg
@@ -0,0 +1 @@
+
diff --git a/cds-fontend-2025.V1/src/service/api/mps/batch.ts b/cds-fontend-2025.V1/src/service/api/mps/batch.ts
new file mode 100644
index 0000000..2c99717
--- /dev/null
+++ b/cds-fontend-2025.V1/src/service/api/mps/batch.ts
@@ -0,0 +1,20 @@
+import { request } from '@/service/request';
+
+/** 获取批量状态列表 */
+export function fetchGetBatchList (params?: Api.Mps.BatchSearchParams) {
+ return request({
+ url: '/mps/batch/list',
+ method: 'get',
+ params
+ });
+}
+
+/** 修改批量状态 */
+export function fetchUpdateBatch (data: Api.Mps.BatchOperateParams) {
+ return request({
+ url: '/mps/batch',
+ method: 'put',
+ data
+ });
+}
+
diff --git a/cds-fontend-2025.V1/src/typings/api/mps.batch.api.d.ts b/cds-fontend-2025.V1/src/typings/api/mps.batch.api.d.ts
new file mode 100644
index 0000000..f8a8984
--- /dev/null
+++ b/cds-fontend-2025.V1/src/typings/api/mps.batch.api.d.ts
@@ -0,0 +1,63 @@
+
+/**
+ * Namespace Api
+ *
+ * All backend api type
+ */
+declare namespace Api {
+
+ /**
+ * namespace Mps
+ *
+ * backend api module: "Mps"
+ */
+ namespace Mps {
+ /** batch */
+ type Batch = Common.CommonRecord<{
+ /** 批次月份 */
+ batchMonth: string;
+ /** 预批量时间 */
+ preBatchDate: string;
+ /** 预批量状态(0初始 1成功 9失败) */
+ preBatchStatus: string;
+ /** 正式批量时间 */
+ afterBatchDate: string;
+ /** 正式批量状态(0初始 1成功 9失败) */
+ afterBatchStatus: string;
+ /** 核对状态(0未核对 1已核对) */
+ checkStatus: string;
+ /** 核对人 */
+ checkBy: number;
+ /** 核对备注 */
+ checkRemark: string;
+ }>;
+
+ /** batch search params */
+ type BatchSearchParams = CommonType.RecordNullable<
+ Pick<
+ Api.Mps.Batch,
+ | 'batchMonth'
+ | 'checkRemark'
+ > &
+ Api.Common.CommonSearchParams
+ >;
+
+ /** batch operate params */
+ type BatchOperateParams = CommonType.RecordNullable<
+ Pick<
+ Api.Mps.Batch,
+ | 'batchMonth'
+ | 'preBatchDate'
+ | 'preBatchStatus'
+ | 'afterBatchDate'
+ | 'afterBatchStatus'
+ | 'checkStatus'
+ | 'checkBy'
+ | 'checkRemark'
+ >
+ >;
+
+ /** batch list */
+ type BatchList = Api.Common.PaginatingQueryRecord;
+ }
+}
diff --git a/cds-fontend-2025.V1/src/views/_builtin/login/modules/pwd-login.vue b/cds-fontend-2025.V1/src/views/_builtin/login/modules/pwd-login.vue
index 799e222..4bb7030 100644
--- a/cds-fontend-2025.V1/src/views/_builtin/login/modules/pwd-login.vue
+++ b/cds-fontend-2025.V1/src/views/_builtin/login/modules/pwd-login.vue
@@ -201,12 +201,12 @@ async function handleSocialLogin(type: Api.System.SocialSource) {
-->
-
+
diff --git a/cds-fontend-2025.V1/src/views/mps/batch/index.vue b/cds-fontend-2025.V1/src/views/mps/batch/index.vue
new file mode 100644
index 0000000..758ec35
--- /dev/null
+++ b/cds-fontend-2025.V1/src/views/mps/batch/index.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-operate-drawer.vue b/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-operate-drawer.vue
new file mode 100644
index 0000000..12d5f92
--- /dev/null
+++ b/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-operate-drawer.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.cancel') }}
+ {{ $t('common.confirm') }}
+
+
+
+
+
+
+
diff --git a/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-search.vue b/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-search.vue
new file mode 100644
index 0000000..353405b
--- /dev/null
+++ b/cds-fontend-2025.V1/src/views/mps/batch/modules/batch-search.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.reset') }}
+
+
+
+
+
+ {{ $t('common.search') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/controller/MpsBatchController.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/controller/MpsBatchController.java
new file mode 100644
index 0000000..46a75ef
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/controller/MpsBatchController.java
@@ -0,0 +1,54 @@
+package org.dromara.mps.controller;
+
+
+import lombok.RequiredArgsConstructor;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.mps.domain.vo.MpsBatchVo;
+import org.dromara.mps.domain.bo.MpsBatchBo;
+import org.dromara.mps.service.IMpsBatchService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 批量状态
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/mps/batch")
+public class MpsBatchController extends BaseController {
+
+ private final IMpsBatchService mpsBatchService;
+
+ /**
+ * 查询批量状态列表
+ */
+ @SaCheckPermission("mps:batch:list")
+ @GetMapping("/list")
+ public TableDataInfo list(MpsBatchBo bo, PageQuery pageQuery) {
+ return mpsBatchService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 修改批量状态
+ */
+ @SaCheckPermission("mps:batch:edit")
+ @Log(title = "批量状态", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody MpsBatchBo bo) {
+ return toAjax(mpsBatchService.updateByBo(bo));
+ }
+
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/MpsBatch.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/MpsBatch.java
new file mode 100644
index 0000000..d5ad8d9
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/MpsBatch.java
@@ -0,0 +1,69 @@
+package org.dromara.mps.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 批量状态对象 mps_batch
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("mps_batch")
+public class MpsBatch extends BaseEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 批次月份
+ */
+ @TableId(value = "batch_month")
+ private String batchMonth;
+
+ /**
+ * 预批量时间
+ */
+ private Date preBatchDate;
+
+ /**
+ * 预批量状态(0初始 1成功 9失败)
+ */
+ private String preBatchStatus;
+
+ /**
+ * 正式批量时间
+ */
+ private Date afterBatchDate;
+
+ /**
+ * 正式批量状态(0初始 1成功 9失败)
+ */
+ private String afterBatchStatus;
+
+ /**
+ * 核对状态(0未核对 1已核对)
+ */
+ private String checkStatus;
+
+ /**
+ * 核对人
+ */
+ private BigDecimal checkBy;
+
+ /**
+ * 核对备注
+ */
+ private String checkRemark;
+
+
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/bo/MpsBatchBo.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/bo/MpsBatchBo.java
new file mode 100644
index 0000000..82106ea
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/bo/MpsBatchBo.java
@@ -0,0 +1,74 @@
+package org.dromara.mps.domain.bo;
+
+import org.dromara.mps.domain.MpsBatch;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 批量状态业务对象 mps_batch
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MpsBatch.class, reverseConvertGenerate = false)
+public class MpsBatchBo extends BaseEntity {
+
+ /**
+ * 批次月份
+ */
+ private String batchMonth;
+
+ /**
+ * 预批量时间
+ */
+ @NotNull(message = "预批量时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date preBatchDate;
+
+ /**
+ * 预批量状态(0初始 1成功 9失败)
+ */
+ @NotBlank(message = "预批量状态(0初始 1成功 9失败)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String preBatchStatus;
+
+ /**
+ * 正式批量时间
+ */
+ @NotNull(message = "正式批量时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date afterBatchDate;
+
+ /**
+ * 正式批量状态(0初始 1成功 9失败)
+ */
+ @NotBlank(message = "正式批量状态(0初始 1成功 9失败)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String afterBatchStatus;
+
+ /**
+ * 核对状态(0未核对 1已核对)
+ */
+ @NotBlank(message = "核对状态(0未核对 1已核对)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String checkStatus;
+
+ /**
+ * 核对人
+ */
+ @NotNull(message = "核对人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal checkBy;
+
+ /**
+ * 核对备注
+ */
+ @NotBlank(message = "核对备注不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String checkRemark;
+
+
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/vo/MpsBatchVo.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/vo/MpsBatchVo.java
new file mode 100644
index 0000000..ef7d8c0
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/domain/vo/MpsBatchVo.java
@@ -0,0 +1,86 @@
+package org.dromara.mps.domain.vo;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.mps.domain.MpsBatch;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 批量状态视图对象 mps_batch
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = MpsBatch.class)
+public class MpsBatchVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 批次月份
+ */
+ @ExcelProperty(value = "批次月份")
+ private String batchMonth;
+
+ /**
+ * 预批量时间
+ */
+ @ExcelProperty(value = "预批量时间")
+ private Date preBatchDate;
+
+ /**
+ * 预批量状态(0初始 1成功 9失败)
+ */
+ @ExcelProperty(value = "预批量状态", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=初始,1=成功,9=失败")
+ private String preBatchStatus;
+
+ /**
+ * 正式批量时间
+ */
+ @ExcelProperty(value = "正式批量时间")
+ private Date afterBatchDate;
+
+ /**
+ * 正式批量状态(0初始 1成功 9失败)
+ */
+ @ExcelProperty(value = "正式批量状态", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=初始,1=成功,9=失败")
+ private String afterBatchStatus;
+
+ /**
+ * 核对状态(0未核对 1已核对)
+ */
+ @ExcelProperty(value = "核对状态", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=未核对,1=已核对")
+ private String checkStatus;
+
+ /**
+ * 核对人
+ */
+ @ExcelProperty(value = "核对人")
+ private BigDecimal checkBy;
+
+ /**
+ * 核对备注
+ */
+ @ExcelProperty(value = "核对备注")
+ private String checkRemark;
+
+
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/mapper/MpsBatchMapper.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/mapper/MpsBatchMapper.java
new file mode 100644
index 0000000..f1cf711
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/mapper/MpsBatchMapper.java
@@ -0,0 +1,27 @@
+package org.dromara.mps.mapper;
+
+import org.dromara.mps.domain.MpsBatch;
+import org.dromara.mps.domain.vo.MpsBatchVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * 批量状态Mapper接口
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+public interface MpsBatchMapper extends BaseMapperPlus {
+
+ default Page selectPageMpsBatchList(Page page, Wrapper queryWrapper) {
+ return this.selectVoPage(page, queryWrapper);
+ }
+
+ Page selectBatchPage(
+ Page page,
+ @Param("batchMonth") String batchMonth,
+ @Param("checkRemark") String checkRemark);
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/IMpsBatchService.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/IMpsBatchService.java
new file mode 100644
index 0000000..980d13e
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/IMpsBatchService.java
@@ -0,0 +1,40 @@
+package org.dromara.mps.service;
+
+import org.dromara.mps.domain.MpsBatch;
+import org.dromara.mps.domain.vo.MpsBatchVo;
+import org.dromara.mps.domain.bo.MpsBatchBo;
+import org.springframework.transaction.annotation.Transactional;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 批量状态Service接口
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+public interface IMpsBatchService {
+
+ /**
+ * 分页查询批量状态列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 批量状态分页列表
+ */
+ TableDataInfo queryPageList(MpsBatchBo bo, PageQuery pageQuery);
+
+
+ /**
+ * 修改批量状态
+ *
+ * @param bo 批量状态
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(MpsBatchBo bo);
+
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/impl/MpsBatchServiceImpl.java b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/impl/MpsBatchServiceImpl.java
new file mode 100644
index 0000000..3f25e56
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/mps/service/impl/MpsBatchServiceImpl.java
@@ -0,0 +1,77 @@
+package org.dromara.mps.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.mps.domain.bo.MpsBatchBo;
+import org.dromara.mps.domain.vo.MpsBatchVo;
+import org.dromara.mps.domain.MpsBatch;
+import org.dromara.mps.mapper.MpsBatchMapper;
+import org.dromara.mps.service.IMpsBatchService;
+
+import java.util.*;
+
+/**
+ * 批量状态Service业务层处理
+ *
+ * @author gtop
+ * @date 2025-08-19
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class MpsBatchServiceImpl implements IMpsBatchService {
+
+ private final MpsBatchMapper baseMapper;
+
+ /**
+ * 分页查询批量状态列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 批量状态分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(MpsBatchBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ //Page result = baseMapper.selectPageMpsBatchList(pageQuery.build(), lqw);
+ Page result = baseMapper.selectBatchPage(pageQuery.build(), bo.getBatchMonth(),bo.getCheckRemark());
+ return TableDataInfo.build(result);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(MpsBatchBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(StringUtils.isNotBlank(bo.getBatchMonth()), MpsBatch::getBatchMonth, bo.getBatchMonth());
+ lqw.orderByAsc(MpsBatch::getBatchMonth);
+ lqw.like(StringUtils.isNotBlank(bo.getCheckRemark()), MpsBatch::getCheckRemark, bo.getCheckRemark());
+ return lqw;
+ }
+
+ /**
+ * 修改批量状态
+ *
+ * @param bo 批量状态
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(MpsBatchBo bo) {
+ MpsBatch update = MapstructUtils.convert(bo, MpsBatch.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(MpsBatch entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+}
diff --git a/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/resources/mapper/mps/MpsBatchMapper.xml b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/resources/mapper/mps/MpsBatchMapper.xml
new file mode 100644
index 0000000..38b9354
--- /dev/null
+++ b/cds-platform-2025.V1/ruoyi-modules/ruoyi-system/src/main/resources/mapper/mps/MpsBatchMapper.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+