Compare commits

...

340 Commits

Author SHA1 Message Date
wxr
7d8a5c1e88 荧光线、分析时间等修改 2026-02-04 19:31:41 +08:00
FCL
9014e8bcc8 Merge remote-tracking branch 'origin/test' into test 2026-02-04 18:21:51 +08:00
FCL
fa43a6579a 报告增加属性 2026-02-04 18:07:42 +08:00
wxr
33b5ec7be5 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-02-04 16:18:01 +08:00
wxr
5a82d9abd8 任务分配及分析任务提交时配料值赋值 2026-02-04 16:17:51 +08:00
shusir
a96fa0ed9b fix:物料验收流程 2026-02-03 18:02:09 +08:00
shusir
8121c7a97f fix:调整物料验收接口 2026-02-02 18:09:24 +08:00
wxr
a8330ade63 方法变更修改 2026-02-02 17:54:20 +08:00
wxr
e9259122b7 人工配料bug修复 2026-01-31 14:51:58 +08:00
wxr
fbd13f50d4 任务单添加配料方式 2026-01-31 13:43:58 +08:00
shusir
58ab9961c4 feat:物料验收流程接口 2026-01-30 17:16:02 +08:00
wxr
3302a2ee7c 补正系数修改 2026-01-30 16:58:32 +08:00
FCL
1bbfa9a950 Merge remote-tracking branch 'origin/test' into test 2026-01-30 14:57:29 +08:00
shusir
57bf9b0cd5 Merge remote-tracking branch 'origin/test' into test 2026-01-30 14:17:21 +08:00
shusir
5bf435b08e fix:完善批次接口,准备物料验收入库模块及验收新建接口。 2026-01-30 14:16:54 +08:00
FCL
3bf8ee09b7 Merge remote-tracking branch 'origin/test' into test 2026-01-30 14:09:44 +08:00
FCL
4444d9e3c0 fix:报告编制细节修复 2026-01-30 14:09:32 +08:00
wxr
9348c33f1b 补正系数、人工还是自动配料 2026-01-30 09:31:58 +08:00
wxr
969fb2edf7 公式计算bug修复 2026-01-29 19:05:28 +08:00
wxr
e6d08d975f Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-29 19:05:01 +08:00
wxr
3cd25f68ef 复检时分析的任务节点修改 2026-01-29 19:01:42 +08:00
shusir
5a03ed1cab fix:新增物料批次提交,物料大类删除校验。 2026-01-29 17:56:30 +08:00
shusir
1c5588a05a fix:调整物料批次接口 2026-01-29 15:39:16 +08:00
FCL
2111c8b3ad feat:设备管理流程类功能开发 2026-01-29 15:25:45 +08:00
shusir
675e1fe850 fix:接口完善,新增库存管理的物料分页列表 2026-01-28 18:01:06 +08:00
FCL
c7d4399e53 feat:设备流程接口 2026-01-28 17:43:19 +08:00
FCL
2fae2ccac2 fix:供应商接口去除权限注解 2026-01-28 16:27:40 +08:00
shusir
533b96fb6a fix:接口完善 2026-01-28 09:00:33 +08:00
shusir
525d588c20 fix:调整物料分类/大类创建接口,新家删除和详情接口 2026-01-27 12:00:20 +08:00
wxr
be2f28cef5 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-27 11:18:20 +08:00
wxr
ce9aff5583 中铜国贸商检委托也提前生成样品编号,与来样编号一致 2026-01-27 11:18:11 +08:00
FCL
71206f43a3 fix:代码调试 2026-01-27 11:15:23 +08:00
shusir
0d164c660e fix:新增物料批次接口及批次拆分及接口。 2026-01-26 18:05:23 +08:00
wxr
2336c370fa 检验委托的一般委托和仲裁委托修改 2026-01-26 17:54:27 +08:00
wxr
a578426458 样品收样不再判断样品在那个分析室 2026-01-26 14:02:35 +08:00
wxr
892596fc2e Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-26 13:37:07 +08:00
wxr
50a868e0a0 班组送样等bug修复 2026-01-26 13:36:56 +08:00
shusir
99b6521c19 Merge remote-tracking branch 'origin/test' into test 2026-01-26 09:03:02 +08:00
shusir
215ec8b5aa feat:新增物料分类,物料大类的新建与树列表及分页列表。 2026-01-26 08:59:16 +08:00
wxr
b408d1e726 修改pom文件,liteflow版本管理前移,防止被父liteflow版本覆盖 2026-01-24 11:15:19 +08:00
wxr
23babc6795 交叉审核报错等修改 2026-01-24 09:45:45 +08:00
FCL
6d7caf5738 Merge remote-tracking branch 'origin/test' into test 2026-01-20 17:54:54 +08:00
FCL
3cb93ce84c fix:设备接口调整 2026-01-20 17:54:50 +08:00
houjunxiang
ac44920fa7 feat:报告签名时间格式化调整 2026-01-19 16:53:49 +08:00
FCL
53d40a4b27 Merge branch 'refs/heads/zt-test' into test
# Conflicts:
#	pom.xml
#	zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/datapermission/QMSMultiDataPermissionHandler.java
#	zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/mybatis/QMSDataPermissionConfig.java
2026-01-19 10:59:08 +08:00
ranke
7d8b8c55f1 修改私服地址 2026-01-15 10:03:48 +08:00
ranke
b529df9860 修改版本号,新增快照发布设置 2026-01-15 09:18:02 +08:00
FCL
34277c921a feat:qms阶段性提交 2026-01-13 11:21:28 +08:00
FCL
0b936b7b8f feat:数据权限修改。增加qms数据权限注解 2026-01-13 09:12:50 +08:00
wxr
e20827cd0e 还原QMSMultiDataPermissionHandler 2026-01-12 16:55:02 +08:00
wxr
e64c3a8791 分析回退、结果判定自动报出、结果报出复检修改 2026-01-12 16:50:31 +08:00
FCL
ae34b13023 fix:自动火试金地址更换 2026-01-12 15:34:02 +08:00
FCL
9e67e1c784 Merge remote-tracking branch 'origin/test' into test 2026-01-12 15:26:36 +08:00
wxr
77b1be3e0a 版本管理修改下载url连接 2026-01-12 14:38:34 +08:00
FCL
ccfa341429 fix:流程回调接口增加DeptDataPermissionIgnore注解 2026-01-09 14:10:20 +08:00
FCL
0ddf5cb33f fix:流程回调接口增加DeptDataPermissionIgnore注解 2026-01-09 14:09:40 +08:00
FCL
7e7295cb74 feat:qms阶段性提交 2026-01-09 11:26:52 +08:00
FCL
c78f6b0992 feat:qms权限组件-临时提交 2026-01-09 11:04:32 +08:00
houjunxiang
908a18b6f1 feat:供应商管理 2026-01-08 18:00:36 +08:00
wxr
6e3972d5a0 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-08 16:49:40 +08:00
wxr
202cfe4d26 pc端版本更新返回信息修改 2026-01-08 16:49:29 +08:00
FCL
cd27be0fa5 fix:归库返回数据细节修复 2026-01-08 16:07:38 +08:00
FCL
0b7fb7748a fix:字典翻译数据权限问题修复 2026-01-08 16:04:05 +08:00
wxr
18bece858d 交叉判定等级为0和4判定bug修复 2026-01-07 16:41:32 +08:00
FCL
10716a0ec5 feat:qms阶段性提交 2026-01-07 11:00:12 +08:00
wxr
2b59974442 超差判定添加主样配置id查询 2026-01-07 10:50:54 +08:00
wxr
68831680fd fix 回退bug 2026-01-06 11:12:40 +08:00
wxr
8a1b2f0eb3 回退信息等修改 2026-01-06 10:43:07 +08:00
wxr
8945098344 controller添加忽略部门注解 2026-01-05 16:19:41 +08:00
wxr
d1c26d70f6 分配任务是添加是否配料 2026-01-05 15:46:15 +08:00
FCL
b7db2d34ac 部署调试 2026-01-04 18:48:53 +08:00
wxr
e179cbdd0d Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-04 17:35:15 +08:00
FCL
8fa11eb44c feat:qms阶段性更新 2026-01-04 16:53:52 +08:00
FCL
520e5a9add 暂不提交 2026-01-04 16:42:11 +08:00
FCL
9e3b402b1f fix:报告发起iwork流程细节调整 2026-01-04 16:41:08 +08:00
wxr
0a9348cd60 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-04 11:01:16 +08:00
wxr
80a932e802 样品编号生成修改,如果配置了样品编号生成规则,则以规则生成的为准,否则样品编号就为来样编号 2026-01-04 11:01:07 +08:00
FCL
3ea0b06cc3 fix:报告签名缺失问题修复 2026-01-04 10:32:06 +08:00
FCL
3c4b951c7b feat:设备后端接口-使用记录、设备申请等 2026-01-04 08:58:27 +08:00
lrx
cc2812c458 fix:双杯判定bug优化 2025-12-31 17:53:58 +08:00
wxr
28a8970c03 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-31 16:34:13 +08:00
wxr
227960e9b1 方法变更添加查询条件,检测项目及参数值保存允许为Null 2025-12-31 16:34:02 +08:00
FCL
8af535b12c feat:设备后端接口-维护、巡检等 2025-12-31 10:13:25 +08:00
FCL
5e71453113 fix:报告接口微调 2025-12-31 10:12:31 +08:00
wxr
f5fc940f54 fix 2025-12-31 08:38:15 +08:00
wxr
286d512bfe 结果报送,复检修改 2025-12-30 11:20:14 +08:00
FCL
96e3e9567e fix:报告预报url优化 2025-12-29 09:56:06 +08:00
FCL
e7a844cc8f feat:设备接口开发:业务配置、维护等 2025-12-26 17:27:43 +08:00
FCL
91815c5e84 fix:报告数据组装 2025-12-26 10:49:56 +08:00
FCL
cc5e04bb40 Merge remote-tracking branch 'origin/test' into test 2025-12-26 10:24:31 +08:00
FCL
778b5f751d fix:报告数据组装 2025-12-26 10:24:26 +08:00
wxr
09b31ad940 任务数量为空,删除bug 2025-12-25 19:09:49 +08:00
wxr
df9747044d 结果上报修改 2025-12-25 17:45:25 +08:00
wxr
635c30f850 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-25 15:12:26 +08:00
wxr
69a3f75f89 结果报送,上报bug修复 2025-12-25 15:12:17 +08:00
FCL
58f9c9a350 Merge remote-tracking branch 'origin/test' into test 2025-12-25 14:52:57 +08:00
FCL
b78c9ed179 fix:报告数据组装 2025-12-25 14:50:37 +08:00
wxr
94074868d9 委检登记bug修复 2025-12-25 14:22:29 +08:00
FCL
f9f87648af fix:报告数据组装 2025-12-25 14:20:13 +08:00
FCL
b8bf7a3d9d fix:报告数据组装 2025-12-25 11:34:30 +08:00
FCL
71bb44e053 Merge remote-tracking branch 'origin/test' into test 2025-12-25 11:10:01 +08:00
FCL
363185faed fix:报告数据组装 2025-12-25 11:04:59 +08:00
wxr
2b8f9da407 检验委托样品生成bug修复 2025-12-25 10:49:14 +08:00
FCL
d0aff7840d Merge remote-tracking branch 'origin/test' into test 2025-12-25 10:30:19 +08:00
FCL
575e40773d fix:报告数据组装 2025-12-25 10:28:32 +08:00
wxr
3659edb3f5 检验委托生成样品修改 2025-12-25 10:19:38 +08:00
wxr
b4bfece4b3 分析取数修改 2025-12-24 18:36:05 +08:00
wxr
5ca2253522 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-24 18:03:32 +08:00
wxr
76b44686fb 复测及原始记录修改 2025-12-24 18:03:22 +08:00
FCL
dc23a86c29 fix:报告数据组装 2025-12-24 15:23:16 +08:00
wxr
b0d45e5cde 样品生成,子样方法配置错误提示 2025-12-24 13:55:21 +08:00
FCL
d9f7330f57 Merge remote-tracking branch 'origin/test' into test 2025-12-24 13:42:42 +08:00
FCL
f4e4d56e97 feat: 设备模块部分代码生成;报告接口; 2025-12-24 13:42:36 +08:00
FCL
171c406b29 feat: 设备模块部分代码生成;报告接口; 2025-12-24 13:42:31 +08:00
wxr
4019440537 简码打印修改 2025-12-24 10:14:41 +08:00
wxr
6de99cec7d 方法变更等修改 2025-12-23 17:56:29 +08:00
wxr
ef7285f95d 报表计算等处理 2025-12-23 11:23:13 +08:00
chenbowen
8c3a1bdff8 1. 升级版本 2025-12-23 10:50:23 +08:00
FCL
2fc4cb1f6b Merge remote-tracking branch 'origin/test' into test 2025-12-22 16:16:11 +08:00
FCL
b0a9a9b4fc feat:设备管理代码生成 2025-12-22 14:13:51 +08:00
FCL
dd63f9e1dc fix:细节调整 2025-12-22 14:13:26 +08:00
wxr
668df796ed 样品参数添加填充方式 2025-12-22 09:20:22 +08:00
wxr
dbf678e8a6 添加符号字段 2025-12-20 18:37:45 +08:00
wxr
ee4f7aba86 fix 2025-12-20 18:08:54 +08:00
wxr
da39c68aa1 fix 2025-12-20 17:47:10 +08:00
wxr
054c3ddda1 原始记录横向纵向查询 2025-12-20 17:13:19 +08:00
wxr
9110b2a546 带检测项目的质控样,添加参数 2025-12-20 14:40:10 +08:00
wxr
b6b576e2ae 分析方法参数重复bug修复 2025-12-19 17:19:52 +08:00
wxr
9faf6091cf 分析取参数配置错误提示 2025-12-19 16:25:29 +08:00
wxr
0f379a035b 分析修改 2025-12-19 14:53:54 +08:00
wxr
05ce6a8aa6 fix 方法变更 2025-12-19 14:33:26 +08:00
wxr
d6f2470104 fix 2025-12-19 13:54:04 +08:00
wxr
20d87e67fe bug修复 2025-12-19 13:51:51 +08:00
wxr
9ddb1857e6 分析相关修改 2025-12-19 11:57:02 +08:00
wxr
6607abd6c5 任务分配-任务管理调整 2025-12-19 09:10:07 +08:00
wxr
e75ebd9a2c 委托样品生成修改 2025-12-18 20:22:41 +08:00
wxr
ae90142aad 质控空白样 2025-12-18 13:55:32 +08:00
FCL
8977be538d fix:app版本管理细节调整 2025-12-18 10:51:21 +08:00
FCL
24f4e011be Merge remote-tracking branch 'origin/test' into test 2025-12-17 17:03:19 +08:00
FCL
e30b19cec0 fix:app版本管理细节调整 2025-12-17 17:03:13 +08:00
wxr
3e8deaf7b5 复测方法查询修改 2025-12-17 16:23:49 +08:00
wxr
8309ac0f4e 子样与检测方法修改 2025-12-17 11:09:23 +08:00
wxr
45ba58cadb Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-16 21:12:39 +08:00
wxr
eb757e8271 方法变更修改 2025-12-16 21:12:29 +08:00
FCL
11bb57b1a4 Merge remote-tracking branch 'origin/test' into test 2025-12-16 16:11:41 +08:00
FCL
a536f5c841 feat:报告流程回调优化;转pdf;发起iwork流程; 2025-12-16 16:11:08 +08:00
wxr
607dc05409 荧光取数接口添加管理样和标准样匹配 2025-12-15 10:32:27 +08:00
wxr
dd6df68061 升级liteflow及处理荧光数据上传 2025-12-12 08:48:36 +08:00
FCL
468e939ab1 Merge remote-tracking branch 'origin/test' into test 2025-12-11 17:53:16 +08:00
FCL
90b0aa5202 feat:报告转pdf、发起iwork流程。 开发中 2025-12-11 17:52:59 +08:00
yd
33543e5330 fix:物料管理业务逻辑修改。新增库存数据统计查询 2025-12-11 16:32:57 +08:00
yd
6a3d585802 feat:新增盘点表数据 2025-12-10 14:47:46 +08:00
禁止呵呵
9eec0bb05e feat:领用出库、同意出库 2025-12-09 21:19:31 +08:00
禁止呵呵
8fd750a82f Merge remote-tracking branch 'origin/test' into test 2025-12-09 16:10:46 +08:00
禁止呵呵
2790ed7ea1 feat:库存查询,库存记录查询、入库记录查询 2025-12-09 16:10:37 +08:00
FCL
9f4369bcb2 fix:报告纵表细节调整 2025-12-09 15:46:00 +08:00
FCL
920292cfac feat:报告数据算法逻辑调整;增加分页逻辑 2025-12-09 14:39:13 +08:00
禁止呵呵
1187038ba8 feat:库存管理 2025-12-09 09:39:07 +08:00
禁止呵呵
e2678fe7b4 Merge remote-tracking branch 'origin/test' into test 2025-12-09 09:29:22 +08:00
禁止呵呵
c1b975cca0 feat:入库、批量入库 2025-12-09 09:29:14 +08:00
FCL
b7f30012c8 feat:报告数据算法逻辑调整 2025-12-08 17:50:15 +08:00
FCL
000cfca842 feat:报告数据算法逻辑调整 2025-12-08 10:27:36 +08:00
wxr
6b006513af 分析班组添加是否送样标识 2025-12-05 18:32:54 +08:00
禁止呵呵
f2571944c1 fix:版本管理模块字段修改 2025-12-05 17:32:14 +08:00
禁止呵呵
8e3994b6a8 Merge remote-tracking branch 'origin/test' into test 2025-12-05 17:23:52 +08:00
禁止呵呵
c7f3bc0a46 fix:版本管理模块文件名修改,字段修改,版本查询条件修改 2025-12-05 17:23:41 +08:00
wxr
54bc4b8b37 检测方法及委检登记-已提交列表,数据状态问题修复 2025-12-05 17:13:59 +08:00
FCL
d0ee704939 doc:iWork集成说明 2025-12-05 14:50:57 +08:00
yd
9cf4af15c2 feat:物料管理出库相关 2025-12-05 13:47:41 +08:00
yd
ac308f30a2 feat:物料管理盘点相关 2025-12-05 11:48:40 +08:00
yd
60b2761b2c Merge remote-tracking branch 'origin/test' into test 2025-12-04 20:14:33 +08:00
yd
a17621b0dd feat:客户端版本管理 2025-12-04 20:14:24 +08:00
wxr
9ec70c1721 结果判定等处理 2025-12-04 18:17:57 +08:00
FCL
3a5f6994a7 Merge remote-tracking branch 'origin/test' into test 2025-12-04 15:11:27 +08:00
FCL
b355668284 fix:报告编制,增加委托过滤,按报表类型过滤可选委托 2025-12-04 15:11:12 +08:00
wxr
8d75bc0765 任务流程状态及委托登记统计 2025-12-04 14:29:32 +08:00
wxr
0b44562b58 交叉审核退回,分析查询不到数据 2025-12-04 11:39:16 +08:00
wxr
90a1dfbd37 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-04 11:02:56 +08:00
wxr
61d91d29b0 结果报送条件查询等 2025-12-04 11:02:50 +08:00
FCL
212a28059c feat:更新tio,支持redis指定用户名 2025-12-04 10:39:19 +08:00
FCL
d84f1adf65 Merge remote-tracking branch 'origin/test' into test 2025-12-04 10:38:02 +08:00
FCL
4b9d27e8fc feat:更新tio,支持redis指定用户名 2025-12-04 10:37:59 +08:00
wxr
d41f69cc51 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-04 10:03:43 +08:00
wxr
15621a9a56 中心交接-扫码收样添加 收样并送样 2025-12-04 10:03:32 +08:00
FCL
06be110e5d Merge remote-tracking branch 'origin/test' into test 2025-12-04 08:58:25 +08:00
FCL
ae0f0d79c5 feat:供应商管理代码生成 2025-12-04 08:58:02 +08:00
wxr
93cf620376 简码编密跳过等 2025-12-03 20:39:40 +08:00
wxr
be89a965d8 排序等bug修复 2025-12-03 16:17:50 +08:00
yd
8fa69a0906 Merge remote-tracking branch 'origin/test' into test 2025-12-03 14:24:57 +08:00
yd
3bb70a94f2 feat:物料管理部分菜单 2025-12-03 14:24:40 +08:00
wxr
433ac9124b Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-03 11:02:42 +08:00
wxr
3285e6050a 检验委托任务添加修改 2025-12-03 11:02:20 +08:00
yd
c68c7cfbf2 Merge branch 'lims_dev' of https://git.will-way.cn/zgty/zt-qms into test 2025-12-03 08:58:06 +08:00
wxr
04596350b6 添加委托来源与类型关系表 2025-12-03 08:41:01 +08:00
yd
927731c217 feat:物料通用流程 2025-12-02 16:42:26 +08:00
wxr
2b60bd7c7b 委托登记修改 2025-12-02 10:53:11 +08:00
FCL
9a2b45e29c fix:存放位置编码重复校验 2025-12-01 16:07:59 +08:00
wxr
7c7e7b4761 分析取S值,参数修改 2025-12-01 15:31:40 +08:00
FCL
39d720c1df fix:业务参数字典权限调整 2025-11-28 17:43:12 +08:00
FCL
d6fc03b199 fix:自动火试金接口签名测试 2025-11-28 17:07:40 +08:00
FCL
04ac449897 feat:自动火试金接口签名测试 2025-11-28 16:47:23 +08:00
FCL
eff36758c2 fix:设备接口,取消部分权限 2025-11-28 16:47:05 +08:00
FCL
9323bb3706 Merge remote-tracking branch 'origin/test' into test 2025-11-28 15:23:00 +08:00
FCL
b2c34982f9 feat:阶段性代码提交 2025-11-28 15:22:17 +08:00
FCL
cb50244685 Merge branch 'refs/heads/zt-test' into test 2025-11-28 15:13:41 +08:00
FCL
246e6391b8 fix:检测标准细节优化 2025-11-28 15:09:53 +08:00
wxr
4c129dee4e 结果判定分析方法为0还显示,处理。 2025-11-28 11:22:41 +08:00
wxr
63fc44a7d1 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-28 10:49:08 +08:00
wxr
9a4e50b081 商检委托,S值检查bug修复 2025-11-28 10:49:00 +08:00
FCL
7f1c4dd8c4 fix:Dict注解优化 2025-11-28 09:04:01 +08:00
wxr
7a03bc6293 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-27 18:23:45 +08:00
wxr
171de4c8d4 分析样顺序调整 2025-11-27 18:23:34 +08:00
FCL
60bc01201b fix:样品调拨细节修复 2025-11-27 18:10:35 +08:00
FCL
8fdeb65895 Merge remote-tracking branch 'origin/test' into test 2025-11-27 17:33:35 +08:00
FCL
41b4e53db1 fix:测试问题修复:样品库、报告 2025-11-27 17:33:31 +08:00
wxr
600e8bcd92 分析项目根据字典id过滤 2025-11-27 17:30:18 +08:00
wxr
353a6dcb3e 样品分析获取修改 2025-11-27 16:27:09 +08:00
wxr
ab505189f3 商检样S值分样判定bug修复 2025-11-27 15:45:45 +08:00
wxr
3b306b4137 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-27 14:16:56 +08:00
wxr
9b99e41676 下发配料添加检查是否都存在配料必填数据 2025-11-27 14:16:44 +08:00
FCL
1dbbeba233 Merge remote-tracking branch 'origin/test' into test 2025-11-27 11:42:19 +08:00
FCL
b92d61648f fix:样品库接口调整 2025-11-27 11:42:14 +08:00
wxr
b85eb7ea91 原始记录单,无数据时bug修复 2025-11-27 10:19:53 +08:00
wxr
76069855ec 新增内部简码标签打印数据查询 2025-11-27 09:44:08 +08:00
wxr
ea948a70bc 镜像名称修改 2025-11-26 19:31:05 +08:00
wxr
e133ec82c8 样品接收查询修改 2025-11-26 17:59:27 +08:00
wxr
be75cb4cf9 结果报送,bug修复 2025-11-26 16:09:25 +08:00
wxr
b320d36181 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-26 15:01:29 +08:00
FCL
172f04a260 fix:样品库接口调整 2025-11-26 12:00:22 +08:00
wxr
821ce6a7cf Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-26 10:43:01 +08:00
FCL
c7fe2db73c fix:样品库接口调整 2025-11-26 10:38:57 +08:00
wxr
984ae17431 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-26 10:25:24 +08:00
wxr
4fd689c530 分析任务加上分析人员id。自动配料根据分析人员id查询用户数据,设置分析人账号。 2025-11-26 10:25:13 +08:00
FCL
2c377a76ec fix:样品库接口调整 2025-11-26 09:38:43 +08:00
FCL
2f71bc7fb1 Merge remote-tracking branch 'origin/test' into test 2025-11-26 09:16:46 +08:00
wxr
30ce46ce4d qms发布 2025-11-26 09:15:18 +08:00
FCL
d25658f202 Merge remote-tracking branch 'origin/test' into test
# Conflicts:
#	zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java
2025-11-26 08:44:33 +08:00
chenbowen
8aa329d989 1. 同步 nacos 配置到业务系统 2025-11-25 18:54:38 +08:00
FCL
a3a31d8600 fix:样品库接口调整 2025-11-25 18:21:59 +08:00
wxr
daafd3ae37 fix 2025-11-25 17:37:10 +08:00
wxr
91df898e09 自动火试金配料接口 2025-11-25 14:46:36 +08:00
FCL
baa7884fd7 fix:报告明细数据接口改造,修改“固定列”的处理逻辑 2025-11-25 14:09:46 +08:00
FCL
c522cf5f8f Merge branch 'zt-test' into test 2025-11-25 09:59:43 +08:00
chenbowen
46aa2c9692 1. 修复升级私有包版本错误 2025-11-25 09:54:37 +08:00
chenbowen
411983986f 1. 升级私有包版本 2025-11-25 09:38:20 +08:00
FCL
94757f31de Merge branch 'zt-test' into test 2025-11-25 09:36:47 +08:00
FCL
42afe2adb3 feat:qms阶段性提交:检验流程调整、报告、样品库等 2025-11-25 09:36:22 +08:00
FCL
5657f8cf09 feat:qms阶段性提交:检验流程调整、报告、样品库等 2025-11-25 09:34:25 +08:00
wxr
a49bee0abd Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-25 09:17:53 +08:00
wxr
d0673f36b1 自动火试金接口-未完 2025-11-25 09:17:39 +08:00
FCL
eaea741480 Merge remote-tracking branch 'origin/test' into test 2025-11-24 18:11:54 +08:00
FCL
44a6e11803 fix:样品库联调调整 2025-11-24 18:11:49 +08:00
wxr
cc79a15a16 参数错误修改 2025-11-24 15:07:02 +08:00
wxr
1e82c22284 超差判定修改 2025-11-24 14:50:13 +08:00
wxr
c2d067e47c Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-24 10:31:53 +08:00
wxr
92ec9454ba 结果判定修改 2025-11-24 10:26:51 +08:00
FCL
57041e4adc Merge remote-tracking branch 'origin/test' into test 2025-11-21 16:15:15 +08:00
FCL
a8580e1e30 fix:报告、样品库等细节 2025-11-21 16:14:58 +08:00
FCL
82934c153d fix:qms启动2个实例 2025-11-21 13:35:32 +08:00
wxr
87fbd54692 fix 2025-11-21 11:35:10 +08:00
wxr
918f8465a9 修改T_BSN_SB_PRN_SMP_ASMT表名到T_BSN_SB_PRN_SMP_ASMT_PRJ 2025-11-21 11:34:56 +08:00
wxr
5ef620fa9a 修改表名T_BSN_SB_SMP_ASMT到T_BSN_SB_SMP_ASMT_PRJ 2025-11-21 10:44:16 +08:00
wxr
2b45f932dc 查询修改 2025-11-21 10:31:23 +08:00
wxr
6ca60e94cd 报表模板取消标记。BusinessControllerMarker 2025-11-20 18:08:18 +08:00
wxr
8b3bfe2083 添加班组送样 2025-11-20 17:50:19 +08:00
FCL
9037a27cb8 fix:报告细节 2025-11-19 18:09:02 +08:00
FCL
a26327d4e7 Merge remote-tracking branch 'origin/test' into test 2025-11-19 17:31:46 +08:00
FCL
3028d478fe fix:报告配置、权限细节调整 2025-11-19 17:31:36 +08:00
wxr
c6c44828e0 方法变更样品查询 2025-11-19 17:18:32 +08:00
wxr
1f8aebf598 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-19 17:04:28 +08:00
wxr
caba1edf4c 子样字段添加及查询修改 2025-11-19 17:04:21 +08:00
FCL
3c70d53533 fix:报告数据报错修复;增加固定字段的数据方式 2025-11-19 16:10:18 +08:00
chenbowen
d814fae16d 1. 升级私有包版本 2025-11-19 14:48:09 +08:00
FCL
0e07b41c22 fix:样品库细节调整 2025-11-19 14:21:11 +08:00
FCL
e6113058c0 fix:子样查询修改 2025-11-19 09:55:48 +08:00
wxr
5ec35399de 子样查询修改 2025-11-19 09:53:03 +08:00
chenbowen
49b6f956ff 1. 新增 qms 绑定端口 2025-11-18 18:03:31 +08:00
FCL
d80d5da026 feat:部署调试 2025-11-18 17:51:11 +08:00
FCL
c3f891095f feat:部署调试 2025-11-18 17:48:06 +08:00
FCL
ac2295cac9 feat:阶段性代码合并 2025-11-18 10:59:14 +08:00
FCL
36289be12b Merge branch 'refs/heads/zt-test' into test
# Conflicts:
#	pom.xml
#	zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java
#	zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java
2025-11-18 10:21:01 +08:00
wxr
c858ecf8b4 fix 2025-11-17 21:01:39 +08:00
wxr
18e4245eff 荧光数据错误修复 2025-11-17 20:38:23 +08:00
wxr
376902462b 时间格式化bug修复 2025-11-17 20:12:15 +08:00
FCL
c80aeece47 Merge remote-tracking branch 'origin/test' into test 2025-11-17 16:57:42 +08:00
FCL
12cd5a4d94 feat:样品库接口调整 2025-11-17 16:57:37 +08:00
wxr
524ea2687f 荧光线查询等修改 2025-11-17 16:44:09 +08:00
wxr
24a6e95f26 数据退回等bug修复 2025-11-17 10:00:15 +08:00
wxr
dddf21c94f 配料下发 2025-11-15 17:50:08 +08:00
wxr
6e3e604fca 荧光数据接口 2025-11-15 13:48:47 +08:00
FCL
4394c4ecf8 Merge remote-tracking branch 'origin/test' into test 2025-11-13 17:48:51 +08:00
FCL
e0f6d288b1 feat:样品库功能,开发基本完成,需进一步调细节。 报告数据微调 2025-11-13 17:48:34 +08:00
wxr
6e0886ca5b 荧光采集 2025-11-13 13:54:28 +08:00
wxr
c79590d36e 简码生成标签打印 2025-11-12 13:56:57 +08:00
wxr
6e39ca51c5 单样分析结果查询等 2025-11-11 20:57:56 +08:00
wxr
0c13b35433 分析保存等修改 2025-11-11 17:43:41 +08:00
wxr
398fd2d303 交叉审核 2025-11-10 20:40:45 +08:00
wxr
d7554b49dc 委托登记报表特殊处理日期格式给到锐浪报表 2025-11-10 20:10:38 +08:00
wxr
d9d63ab587 处理空白样样品编号为null导致bug 2025-11-10 18:16:48 +08:00
FCL
3afd68cbfe Merge remote-tracking branch 'origin/test' into test 2025-11-10 18:04:58 +08:00
FCL
174f720f65 doc:文档更新 2025-11-10 18:04:12 +08:00
wxr
f2fe7455ed 交叉审核报表查询 2025-11-10 10:45:19 +08:00
wxr
3129b88a21 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-07 16:15:29 +08:00
wxr
95b7b6e011 标签打印接口 2025-11-07 16:15:17 +08:00
FCL
52ab580346 feat:报告类型发起权限 2025-11-07 15:26:15 +08:00
wxr
da9db180ca Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-07 14:27:12 +08:00
wxr
182a1fb4a6 委托单报告数据查询 2025-11-07 14:02:38 +08:00
FCL
9ffc32d964 feat:通用权限配置模块;报告类型增加权限配置参数 2025-11-07 11:24:22 +08:00
wxr
c7bcf07f72 质控数据保存 2025-11-07 09:58:38 +08:00
wxr
d51637e44a 质控样移除 2025-11-06 19:52:27 +08:00
wxr
23ee4831c7 任务分配调整 2025-11-06 16:47:36 +08:00
FCL
dd2b7ac290 feat:删除旧版代码 2025-11-06 16:41:25 +08:00
FCL
f13681ca8a Merge remote-tracking branch 'origin/test' into test
# Conflicts:
#	zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java
2025-11-06 16:26:57 +08:00
FCL
6551a18d28 feat:代码生成 2025-11-06 16:26:06 +08:00
wxr
a3cd8a0a55 任务分配修改 2025-11-06 15:16:26 +08:00
chenbowen
3e40ed2e61 1. 调整业务 pod 资源检查的延时 2025-11-06 14:04:30 +08:00
chenbowen
4897329644 1. 新增物料相关接口
2. 修复部分服务因为包名设置错误导致无法采集日志的错误
2025-11-06 13:41:56 +08:00
chenbowen
498dd4cd8d 1. 修复 base 编译错误
2. build 追加 skywalking 集成
2025-11-06 09:23:42 +08:00
wxr
9eb42b930f 空白样检测项目配置 2025-11-05 18:27:17 +08:00
wxr
4440288479 新增空白样与质控样 2025-11-05 18:18:11 +08:00
wxr
78d80280e3 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2025-11-05 17:39:20 +08:00
FCL
dafdefd378 fix:报告数据微调 2025-11-05 17:22:03 +08:00
FCL
166cb7304f fix:被驳回的报告重新发起流程 2025-11-05 17:05:52 +08:00
wxr
fb8706441b fix 2025-11-05 16:53:15 +08:00
FCL
fc0d3f5da4 fix:报告数据细节调整 2025-11-05 15:36:08 +08:00
FCL
a4105aef49 feat:报告数据算法调整 2025-11-05 15:29:18 +08:00
wxr
09ca90355d 字段修改 2025-11-04 19:35:23 +08:00
FCL
b3e11fe92e Merge remote-tracking branch 'origin/test' into test 2025-11-04 18:05:20 +08:00
FCL
536f971e8e feat:tio集群逻辑优化 2025-11-04 18:05:11 +08:00
FCL
e75217009f Merge remote-tracking branch 'origin/test' into test 2025-11-04 08:41:22 +08:00
FCL
b2e275a2d8 fix:报告流程回调优化 2025-11-03 14:00:36 +08:00
FCL
d218383a9a fix:报告流程回调优化 2025-11-03 11:54:58 +08:00
chenbowen
b0c4a773af ZT 远程仓库依赖强制更新 2025-10-29 18:23:27 +08:00
chenbowen
1dc0671cf0 更新版本 2025-10-28 14:10:51 +08:00
chenbowen
b629e0358a 调整业务服务的时区 2025-10-27 11:41:18 +08:00
chenbowen
5b32ff274f 模块独立命名 2025-10-22 16:06:27 +08:00
chenbowen
11cb3426d4 更改 qms 的冲突端口 2025-10-21 15:34:23 +08:00
chenbowen
f9740ed667 更改 qms 的冲突端口 2025-10-21 11:35:29 +08:00
FCL
ba4b7239ac fix:qms-api调整 2025-10-21 11:14:10 +08:00
chenbowen
e80a5437df 升级版本 2025-10-15 16:15:46 +08:00
918 changed files with 52846 additions and 4681 deletions

View File

@@ -11,7 +11,7 @@ metadata:
description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec:
replicas: 1
replicas: 2
selector:
matchLabels:
app: qms-server
@@ -23,18 +23,21 @@ spec:
containers:
- name: qms-server
image: 172.16.46.66:10043/yudao/qms-server:VERSION_PLACEHOLDER
env:
- name: TZ
value: Asia/Shanghai
readinessProbe:
httpGet:
path: /actuator/health
port: 48104
initialDelaySeconds: 10
initialDelaySeconds: 50
periodSeconds: 5
failureThreshold: 3
livenessProbe:
httpGet:
path: /actuator/health
port: 48104
initialDelaySeconds: 30
initialDelaySeconds: 50
periodSeconds: 10
failureThreshold: 5
resources:
@@ -61,11 +64,23 @@ spec:
selector:
app: qms-server
ports:
- protocol: TCP
- name: http-health
protocol: TCP
port: 48104
targetPort: 48104
nodePort: 30100
- protocol: TCP
- name: tcp-9999
protocol: TCP
port: 9999
targetPort: 9999
nodePort: 30200
nodePort: 30194
- name: websocket-8320
protocol: TCP
port: 8320
targetPort: 8320
nodePort: 30320
- name: tcp-8330
protocol: TCP
port: 8330
targetPort: 8330
nodePort: 30330

View File

@@ -0,0 +1,158 @@
[Seata分布式事务集成参考.md](Seata%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E9%9B%86%E6%88%90%E5%8F%82%E8%80%83.md)# Seata 分布式事务集成参考
## 一、架构说明
### 多环境 Seata 配置管理
所有环境的 Seata 配置统一通过 Nacos 管理,本地配置文件不包含 Seata 配置。
```
├── dev 环境: base-server-dev.yaml (dev_tx_group, namespace: dev)
├── test 环境: base-server-test.yaml (test_tx_group, namespace: test)
└── prod 环境: base-server-prod.yaml (prod_tx_group, namespace: prod)
Seata Server: 172.16.46.63:30088
```
### 为什么使用 IP 直连?
Nacos 的 namespace 隔离机制导致不同命名空间的应用无法跨 namespace 发现服务。Seata Server 通过 IP 直连(`registry.type=file`)避免此限制,所有环境共享同一个 Seata Server通过不同的 `tx-service-group` 实现逻辑隔离。
---
## 二、Nacos 配置
在对应环境的 Nacos 配置中心创建配置文件。以 `base-server-dev.yaml` 为例(其他环境只需修改 `tx-service-group`
```yaml
seata:
enabled: true
application-id: base-server
tx-service-group: dev_tx_group
enable-auto-data-source-proxy: true
data-source-proxy-mode: AT
registry:
type: file
config:
type: file
service:
vgroupMapping:
default_tx_group: default
dev_tx_group: default
test_tx_group: default
prod_tx_group: default
default:
grouplist: 172.16.46.63:30088
client:
tm:
defaultGlobalTransactionTimeout: 60000
undo:
logTable: undo_log
dataValidation: true
logSerialization: jackson
```
---
## 三、业务集成步骤
### 步骤 1在 pom.xml 中添加依赖
Seata 2.4.0 版本已在 `zt-dependencies` 中统一管理。业务模块只需在 `pom.xml` 中添加:
```xml
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</dependency>
```
版本号会从 `zt-dependencies` 继承。
### 步骤 2创建 undo_log 表
在业务数据库执行:
```sql
CREATE TABLE "UNDO_LOG" (
"BRANCH_ID" BIGINT NOT NULL,
"XID" VARCHAR(128) NOT NULL,
"CONTEXT" VARCHAR(128) NOT NULL,
"ROLLBACK_INFO" BLOB NOT NULL,
"LOG_STATUS" INT NOT NULL,
"LOG_CREATED" DATETIME DEFAULT SYSDATE,
"LOG_MODIFIED" DATETIME DEFAULT SYSDATE,
PRIMARY KEY ("BRANCH_ID")
);
CREATE UNIQUE INDEX "UX_UNDO_LOG" ON "UNDO_LOG" ("XID", "BRANCH_ID");
```
### 步骤 3在 Service 方法上添加 @GlobalTransactional 注解
```java
import io.seata.spring.annotation.GlobalTransactional;
@Service
public class OrderServiceImpl implements OrderService {
@GlobalTransactional(name = "create-order", rollbackFor = Exception.class)
@Override
public Long createOrder(OrderCreateReqVO req) {
// 本地操作
orderMapper.insert(order);
// 跨服务调用自动参与分布式事务
inventoryApi.deduct(productId, quantity);
return order.getId();
}
}
```
**说明**:
- 只在事务发起方添加注解
- 被调用的其他服务自动参与,无需额外配置
- Seata 自动通过 HTTP Header 传递事务 ID
---
## 四、配置汇总
| 配置项 | 开发环境 | 测试环境 | 生产环境 |
|--------|---------|---------|---------|
| **tx-service-group** | `dev_tx_group` | `test_tx_group` | `prod_tx_group` |
| **Nacos 命名空间** | `hwc` | `test` | `prod` |
| **Seata Server** | `172.16.46.63:30088` | `172.16.46.63:30088` | `172.16.46.63:30088` |
---
## 五、其他事务模式
当前配置默认使用 **AT 模式**自动事务模式。Seata 还支持其他事务模式,需要业务自己实现:
### TCC 模式
需要实现 Try、Confirm、Cancel 三个业务方法,使用 `@TwoPhaseBusinessAction` 注解标记。详见官方文档。
### Saga 模式
需要定义 Saga 流程和状态机。详见官方文档。
### XA 模式
需要数据库支持 XA 事务,配置中修改 `data-source-proxy-mode: XA`
**详见**: https://seata.apache.org/zh-cn/docs/overview/what-is-seata
---
## 六、Seata 控制台
**地址**: `http://172.16.46.63:30087`
可查看全局事务、分支事务、全局锁等监控信息。
---
**官方文档**: https://seata.apache.org/zh-cn/docs/overview/what-is-seata

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,212 @@
# 计量单位转换业务使用文档
## 一、系统概述
计量单位转换提供统一的计量单位转换服务,支持同一量纲内的单位自动转换。采用**单向配置、双向生效**机制,只需配置"非基准单位 → 基准单位"的转换规则,自动推导反向和间接转换。
**核心特性**
- 单向配置、双向生效的转换机制
- 支持按单位ID、符号、名称进行转换
- 高精度计算,支持批量操作
- 跨模块统一服务
## 二、内容配置
### 2.1 管理菜单路径
后台管理 → 基础管理 → 计量单位 → 计量单位管理
### 2.2 配置功能
#### 计量量纲管理
- **功能**:创建和管理不同的量纲类型(如重量、长度、体积等)
- **操作**:新增量纲、编辑量纲信息、删除量纲
- **每个量纲只能设置一个基准单位**
#### 计量单位管理
- **功能**:创建和管理具体的计量单位
- **操作**:新增单位、编辑单位信息、删除单位
- **关联量纲**:将单位归属到具体的量纲下
#### 转换规则配置
- **功能**:配置单位间的转换规则
- **配置原则**:只需配置"非基准单位 → 基准单位"
- **自动推导**:系统自动推导反向转换和间接转换
### 2.3 配置建议
1. **量纲规划**:提前规划好业务需要的量纲类型
2. **基准单位选择**:选择业务中最常用、最稳定的单位作为基准
3. **转换规则**:优先使用整数转换系数,提高计算精度
4. **定期校验**:使用转换路径校验功能确保配置正确性
5. **转换完整性校验**:系统提供同一量纲内所有单位能否互相转换的校验功能,确保转换配置的完整性
## 三、API接口清单
### 3.1 单位管理接口
| 接口 | 方法 | 路径 | 说明 | API文档 |
|------|------|------|------|---------|
| 获取量纲树 | GET | `/admin-api/base/unit-management/unit-quantity/tree` | 获取量纲和单位树形结构 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E8%AE%A1%E9%87%8F%E5%8D%95%E4%BD%8D%E9%87%8F/getUnitQuantityTree) |
| 获取单位列表 | GET | `/admin-api/base/unit-management/unt-info/page` | 获取单位列表(用于下拉选择) | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E8%AE%A1%E9%87%8F%E5%8D%95%E4%BD%8D/getUntInfoPage) |
### 3.2 单位转换接口
| 接口 | 方法 | 路径 | 说明 | API文档 |
|------|------|------|------|---------|
| 按ID转换单位 | POST | `/admin-api/base/unit-management/unit-conversion/convert` | 通过单位ID转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/convert) |
| 按符号转换单位 | POST | `/admin-api/base/unit-management/unit-conversion/convert-by-symbol` | 通过单位符号转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/convertBySymbol) |
| 按名称转换单位 | POST | `/admin-api/base/unit-management/unit-conversion/convert-by-name` | 通过单位名称转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/convertByName) |
| 批量ID转换 | POST | `/admin-api/base/unit-management/unit-conversion/batch-convert` | 按ID批量转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/batchConvert) |
| 批量符号转换 | POST | `/admin-api/base/unit-management/unit-conversion/batch-convert-by-symbol` | 按符号批量转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/batchConvertBySymbol) |
| 批量名称转换 | POST | `/admin-api/base/unit-management/unit-conversion/batch-convert-by-name` | 按名称批量转换 | [文档](http://172.16.46.63:30081/doc.html#/base-server/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%20-%20%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2/batchConvertByName) |
---
## 三、后端业务调用示例
### base模块内使用
```java
@Service
public class PurchaseOrderServiceImpl {
@Resource
private UnitConversionService unitConversionService;
/**
* 处理采购订单,统一转换为千克计算
*/
public void processPurchaseOrder(PurchaseOrderSaveReqVO orderVO) {
for (PurchaseOrderDetailVO detail : orderVO.getDetails()) {
// 方式1按符号转换
UnitConvertBySymbolReqVO convertReq = new UnitConvertBySymbolReqVO();
convertReq.setSrcUnitSymbol(detail.getUnt());
convertReq.setTgtUnitSymbol("kg");
convertReq.setValue(detail.getQty());
convertReq.setPrecision(6);
UnitConvertRespVO result = unitConversionService.convertBySymbol(convertReq);
BigDecimal standardQuantity = result.getConvertedValue();
// 方式2按ID转换如果有单位ID
// UnitConvertReqVO convertReq = new UnitConvertReqVO();
// convertReq.setSrcUntId(detail.getUntId());
// convertReq.setTgtUntId(kgUnitId);
// ...
}
}
}
```
---
## 四、跨模块调用
### 4.1 直接Service调用推荐
在同一服务内直接注入使用:
```java
@Resource
private UnitConversionService unitConversionService;
```
### 4.2 跨服务调用(按需使用)
**1. 在 API 模块中定义 Feign 接口:**
```java
package com.zt.plat.module.base.api;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.base.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = ApiConstants.NAME)
@Tag(name = "RPC 服务 - 单位转换")
public interface UnitConversionApi {
String PREFIX = ApiConstants.PREFIX + "/unit-conversion";
@PostMapping(PREFIX + "/convert")
@Operation(summary = "按ID转换单位")
CommonResult<UnitConvertRespVO> convert(@RequestBody UnitConvertReqVO reqVO);
@PostMapping(PREFIX + "/convert-by-symbol")
@Operation(summary = "按符号转换单位")
CommonResult<UnitConvertRespVO> convertBySymbol(@RequestBody UnitConvertBySymbolReqVO reqVO);
}
```
**2. 在其他服务中调用:**
```java
@Service
public class PurchaseServiceImpl {
@Resource
private UnitConversionApi unitConversionApi;
public void processPurchase(PurchaseVO purchase) {
UnitConvertBySymbolReqVO convertReq = new UnitConvertBySymbolReqVO();
convertReq.setSrcUnitSymbol(purchase.getUnit());
convertReq.setTgtUnitSymbol("kg");
convertReq.setValue(purchase.getQuantity());
convertReq.setPrecision(6);
CommonResult<UnitConvertRespVO> result = unitConversionApi.convertBySymbol(convertReq);
if (result.isSuccess()) {
BigDecimal standardQty = result.getData().getConvertedValue();
// 业务处理
}
}
}
```
---
## 五、前端使用
### 5.1 基本API调用
```typescript
// 获取量纲树
export const getUnitQuantityTree = () => {
return request.get('/admin-api/base/unit-management/unit-quantity/tree')
}
// 获取单位列表
export const getUntInfoPage = (params: any) => {
return request.get('/admin-api/base/unit-management/unt-info/page', { params })
}
// 单位转换
export const convertUnitBySymbol = (data: any) => {
return request.post('/admin-api/base/unit-management/unit-conversion/convert-by-symbol', data)
}
```
---
## 六、常见问题
**Q1: 前端如何获取单位选项?**
A: 使用 `/admin-api/base/unit-management/unit-quantity/tree` 获取量纲树,然后根据选择的量纲调用 `/admin-api/base/unit-management/unt-info/page` 获取单位列表。
**Q2: 按ID转换和按符号转换哪个更好**
A: 按ID转换更稳定因为数据库ID不会变化。建议在前端保存单位ID在业务转换时使用ID调用。
**Q3: 跨服务调用需要特殊配置吗?**
A: 不需要项目已经统一配置好。所有Feign客户端都使用 `name = "base-server"`,路径使用 `/rpc-api` 前缀。
**Q4: 批量转换性能问题?**
A: 使用批量接口设置ignoreErrors=true。

70
pom.xml
View File

@@ -17,7 +17,10 @@
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties>
<revision>3.0.42</revision>
<revision>3.0.47-SNAPSHOT</revision>
<!-- qms服务相关 -->
<zzjc.tio.version>3.9.1.v20251204-RELEASE</zzjc.tio.version>
<liteflow.version>2.15.3</liteflow.version>
<!-- Maven 相关 -->
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
@@ -41,6 +44,40 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- liteflow -->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-javax-pro</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-qlexpress</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-graaljs</artifactId>
<version>${liteflow.version}</version>
</dependency>
<!-- tio -->
<dependency>
<groupId>tech.zzjc.tio</groupId>
<artifactId>zzjc-tio-spring-boot-starter</artifactId>
<version>${zzjc.tio.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
@@ -143,10 +180,15 @@
<repository>
<id>ZT</id>
<name>中铜 ZStack 私服</name>
<url>http://172.16.46.63:30708/repository/test/</url>
<url>http://172.16.46.63:30708/repository/zt-cloud/</url>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
@@ -156,11 +198,11 @@
<name>中铜 ZStack 私服</name>
<url>http://172.16.46.63:30708/repository/test/</url>
</repository>
<!-- <snapshotRepository>-->
<!-- <id>ZT</id>-->
<!-- <name>中铜 ZStack 私服</name>-->
<!-- <url>https://your-nexus.example.com/repository/maven-snapshots/</url>-->
<!-- </snapshotRepository>-->
<snapshotRepository>
<id>ZT-snap</id>
<name>中铜 ZStack 私服</name>
<url>http://172.16.46.63:30708/repository/test-snap/</url>
</snapshotRepository>
</distributionManagement>
<profiles>
@@ -172,8 +214,8 @@
<config.server-addr>172.16.46.63:30848</config.server-addr>
<config.namespace>dev</config.namespace>
<config.group>DEFAULT_GROUP</config.group>
<config.username/>
<config.password/>
<config.username>nacos</config.username>
<config.password>P@ssword25</config.password>
<config.version>1.0.0</config.version>
</properties>
</profile>
@@ -185,8 +227,8 @@
<config.server-addr>172.16.46.63:30848</config.server-addr>
<config.namespace>prod</config.namespace>
<config.group>DEFAULT_GROUP</config.group>
<config.username/>
<config.password/>
<config.username>nacos</config.username>
<config.password>P@ssword25</config.password>
<config.version>1.0.0</config.version>
</properties>
</profile>
@@ -198,8 +240,8 @@
<config.server-addr>172.16.46.63:30848</config.server-addr>
<config.namespace>local</config.namespace>
<config.group>DEFAULT_GROUP</config.group>
<config.username/>
<config.password/>
<config.username>nacos</config.username>
<config.password>P@ssword25</config.password>
<config.version>1.0.0</config.version>
</properties>
</profile>

View File

@@ -1,4 +1,6 @@
FROM 172.16.46.66:10043/base-service/report-base:x86_64-ubuntu_22-jre21-2.0.0
#ARG BASE_IMAGE=172.16.46.66:10043/base-service/skywalking-agent-jre:9.7.0
#FROM ${BASE_IMAGE}
RUN mkdir -p /appdata/server
WORKDIR /appdata/server
## 将后端项目的 Jar 文件,复制到镜像中
@@ -6,9 +8,14 @@ COPY ./target/qms-server.jar app.jar
## 设置 TZ 时区
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms512m -Xmx512m"
#ENV SW_AGENT_HOME=/opt/skywalking/agent
#ENV SW_AGENT_NAME=qms-server
#ENV SW_AGENT_COLLECTOR_BACKEND_SERVICES=172.16.46.63:30201
#ENV AGENT_JAVA_OPTS="-javaagent:${SW_AGENT_HOME}/skywalking-agent.jar -Dskywalking.agent.service_name=${SW_AGENT_NAME} -Dskywalking.collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES}"
# 暴露端口
EXPOSE 48205
## 启动后端项目
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
CMD java ${AGENT_JAVA_OPTS} ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar

View File

@@ -0,0 +1,11 @@
call docker build -t zgty-qms:v6.0.0 .
call docker tag zgty-qms:v6.0.0 192.168.26.103:8075/zgty/zgty-qms:v6.0.0
call docker push 192.168.26.103:8075/zgty/zgty-qms:v6.0.0
call docker rmi 192.168.26.103:8075/zgty/zgty-qms:v6.0.0
call docker rmi zgty-qms:v6.0.0
pause

View File

@@ -105,3 +105,87 @@ justauth:
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
--- #################### liteflow相关配置 ####################
liteflow:
#规则文件路径
rule-source: el_xml:com.zt.plat.module.qms.core.liteflow.parser.QmsXmlFlowELParser
#-----------------以下非必须-----------------
#liteflow是否开启默认为true
enable: true
#liteflow的banner打印是否开启默认为true
print-banner: true
#上下文的初始数量槽默认值为1024这个值不用刻意配置这个值会自动扩容
slot-size: 1024
#FlowExecutor的execute2Future的线程数默认为64
main-executor-works: 64
#FlowExecutor的execute2Future的自定义线程池BuilderLiteFlow提供了默认的Builder
main-executor-class: com.yomahub.liteflow.thread.LiteFlowDefaultMainExecutorBuilder
#自定义请求ID的生成类LiteFlow提供了默认的生成类
request-id-generator-class: com.yomahub.liteflow.flow.id.DefaultRequestIdGenerator
#全局异步节点线程池大小默认为64
global-thread-pool-size: 64
#全局异步节点线程池队列大小默认为512
global-thread-pool-queue-size: 512
#全局异步节点线程池自定义BuilderLiteFlow提供了默认的线程池Builder
global-thread-pool-executor-class: com.yomahub.liteflow.thread.LiteFlowDefaultGlobalExecutorBuilder
#异步线程最长的等待时间(只用于when)默认值为15000
when-max-wait-time: 15000
#异步线程最长的等待时间(只用于when)默认值为MILLISECONDS毫秒
when-max-wait-time-unit: MILLISECONDS
#每个WHEN是否用单独的线程池
when-thread-pool-isolate: false
#设置解析模式一共有三种模式PARSE_ALL_ON_START | PARSE_ALL_ON_FIRST_EXEC | PARSE_ONE_ON_FIRST_EXEC
parse-mode: PARSE_ONE_ON_FIRST_EXEC
#全局重试次数默认为0
retry-count: 0
#是否支持不同类型的加载方式混用默认为false
support-multiple-type: false
#全局默认节点执行器
node-executor-class: com.yomahub.liteflow.flow.executor.DefaultNodeExecutor
#是否打印执行中过程中的日志默认为true
print-execution-log: true
#是否开启本地文件监听默认为false
enable-monitor-file: false
#是否开启快速解析模式默认为false
fast-load: false
#是否开启Node节点实例ID持久化默认为false
enable-node-instance-id: false
#是否开启虚拟线程(只在JDK21+环境有效)默认为true
enable-virtual-thread: true
#简易监控配置选项
monitor:
#监控是否开启,默认不开启
enable-log: false
#监控队列存储大小默认值为200
queue-limit: 200
#监控一开始延迟多少执行默认值为300000毫秒也就是5分钟
delay: 300000
#监控日志打印每过多少时间执行一次默认值为300000毫秒也就是5分钟
period: 300000
zzjc:
druid:
sql-log: true
snowflake:
data-center-id: 30
tio:
server:
# port
port: 8320
# 心跳时间
heartbeat-timeout: 20000
websocket:
# enable websocket default false
enable: true
# websocket port
port: 8330
# 集群配置 默认关闭集群开启需要redis
cluster:
enabled: true
group: true
redis:
mode: single
ip: 172.16.46.63 # 地址
port: 30379 # 端口
database: 0 # 数据库索引

View File

@@ -56,6 +56,12 @@ spring:
database: 0 # 数据库索引
# password: 123456 # 密码,建议生产环境开启
--- #################### MQ 消息队列相关配置 ####################
# rocketmq 配置项,对应 RocketMQProperties 配置类
rocketmq:
name-server: 172.16.46.63:30876 # RocketMQ Namesrv
xxl:
job:
admin:
@@ -85,6 +91,32 @@ mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
justauth:
enabled: true
type:
DINGTALK: # 钉钉
client-id: dingvrnreaje3yqvzhxg
client-secret: i8E6iZyDvZj51JIb0tYsYfVQYOks9Cq1lgryEjFRqC79P3iJcrxEwT6Qk2QvLrLI
ignore-check-redirect-uri: true
WECHAT_ENTERPRISE: # 企业微信
client-id: wwd411c69a39ad2e54
client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw
agent-id: 1000004
ignore-check-redirect-uri: true
# noinspection SpringBootApplicationYaml
WECHAT_MINI_PROGRAM: # 微信小程序
client-id: ${dollar}{wx.miniapp.appid}
client-secret: ${dollar}{wx.miniapp.secret}
ignore-check-redirect-uri: true
ignore-check-state: true # 微信小程序,不会使用到 state所以不进行校验
WECHAT_MP: # 微信公众号
client-id: ${dollar}{wx.mp.app-id}
client-secret: ${dollar}{wx.mp.secret}
ignore-check-redirect-uri: true
cache:
type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
# 芋道配置项,设置当前项目所有自定义的配置
zt:
@@ -95,3 +127,87 @@ zt:
access-log: # 访问日志的配置项
enable: true
--- #################### liteflow相关配置 ####################
liteflow:
#规则文件路径
rule-source: el_xml:com.zt.plat.module.qms.core.liteflow.parser.QmsXmlFlowELParser
#-----------------以下非必须-----------------
#liteflow是否开启默认为true
enable: true
#liteflow的banner打印是否开启默认为true
print-banner: true
#上下文的初始数量槽默认值为1024这个值不用刻意配置这个值会自动扩容
slot-size: 1024
#FlowExecutor的execute2Future的线程数默认为64
main-executor-works: 64
#FlowExecutor的execute2Future的自定义线程池BuilderLiteFlow提供了默认的Builder
main-executor-class: com.yomahub.liteflow.thread.LiteFlowDefaultMainExecutorBuilder
#自定义请求ID的生成类LiteFlow提供了默认的生成类
request-id-generator-class: com.yomahub.liteflow.flow.id.DefaultRequestIdGenerator
#全局异步节点线程池大小默认为64
global-thread-pool-size: 64
#全局异步节点线程池队列大小默认为512
global-thread-pool-queue-size: 512
#全局异步节点线程池自定义BuilderLiteFlow提供了默认的线程池Builder
global-thread-pool-executor-class: com.yomahub.liteflow.thread.LiteFlowDefaultGlobalExecutorBuilder
#异步线程最长的等待时间(只用于when)默认值为15000
when-max-wait-time: 15000
#异步线程最长的等待时间(只用于when)默认值为MILLISECONDS毫秒
when-max-wait-time-unit: MILLISECONDS
#每个WHEN是否用单独的线程池
when-thread-pool-isolate: false
#设置解析模式一共有三种模式PARSE_ALL_ON_START | PARSE_ALL_ON_FIRST_EXEC | PARSE_ONE_ON_FIRST_EXEC
parse-mode: PARSE_ONE_ON_FIRST_EXEC
#全局重试次数默认为0
retry-count: 0
#是否支持不同类型的加载方式混用默认为false
support-multiple-type: false
#全局默认节点执行器
node-executor-class: com.yomahub.liteflow.flow.executor.DefaultNodeExecutor
#是否打印执行中过程中的日志默认为true
print-execution-log: true
#是否开启本地文件监听默认为false
enable-monitor-file: false
#是否开启快速解析模式默认为false
fast-load: false
#是否开启Node节点实例ID持久化默认为false
enable-node-instance-id: false
#是否开启虚拟线程(只在JDK21+环境有效)默认为true
enable-virtual-thread: true
#简易监控配置选项
monitor:
#监控是否开启,默认不开启
enable-log: false
#监控队列存储大小默认值为200
queue-limit: 200
#监控一开始延迟多少执行默认值为300000毫秒也就是5分钟
delay: 300000
#监控日志打印每过多少时间执行一次默认值为300000毫秒也就是5分钟
period: 300000
zzjc:
druid:
sql-log: true
snowflake:
data-center-id: 30
tio:
server:
# port
port: 8320
# 心跳时间
heartbeat-timeout: 20000
websocket:
# enable websocket default false
enable: true
# websocket port
port: 8330
# 集群配置 默认关闭集群开启需要redis
cluster:
enabled: true
group: true
redis:
mode: single
ip: 172.16.46.63 # 地址
port: 30379 # 端口
database: 0 # 数据库索引

View File

@@ -24,7 +24,7 @@ spring:
config:
import:
- optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
# - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
- optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
# Servlet 配置
@@ -119,5 +119,9 @@ zt:
version: ${zt.info.version}
tenant: # 多租户相关配置项
enable: true
ignore-urls:
- /admin-api/qms/system-version-management/get-by-platform/**
security:
permit-all-urls:
- /admin-api/qms/system-version-management/get-by-platform/**
debug: false

View File

@@ -37,6 +37,7 @@ public interface ErrorCodeConstants {
/*==============================config 配置模块 1_032_050_000 ~ 1_032_099_999 ===============================*/
ErrorCode CONFIG_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表模版配置不存在");
ErrorCode CONFIG_ASSAY_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法配置不存在");
ErrorCode CONFIG_ASSAY_METHOD_PARAMETER_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法参数配置不存在");
ErrorCode CONFIG_ASSAY_METHOD_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目配置不存在");
ErrorCode CONFIG_ASSAY_METHOD_PROJECT_RANGE_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目区间不存在");
ErrorCode CONFIG_ASSAY_METHOD_PROJECT_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目判定不存在");
@@ -47,13 +48,14 @@ public interface ErrorCodeConstants {
ErrorCode CONFIG_SUB_SAMPLE_PARENT_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样配置不存在");
ErrorCode CONFIG_SUB_SAMPLE_PARENT_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样与检测方法配置不存在");
//ErrorCode CONFIG_SUB_SAMPLE_PARENT_RECHECK_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样与复检配置不存在");
ErrorCode CONFIG_SUB_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样与检测方法配置不存在");
ErrorCode CONFIG_SUB_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样与分样检测方法配置不存在");
ErrorCode CONFIG_SUB_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样配置不存在");
ErrorCode CONFIG_SAMPLE_REPORT_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品报表关系不存在");
ErrorCode CONFIG_SAMPLE_FLOW_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品流程配置不存在");
ErrorCode CONFIG_REPORT_TYPE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表类型配置不存在");
ErrorCode CONFIG_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测项目配置不存在");
ErrorCode CONFIG_ENTRUST_SOURCE_NOT_EXISTS = new ErrorCode(1_032_050_000, "检验委托来源配置不存在");
ErrorCode CONFIG_ENTRUST_SOURCE_SAMPLE_TYPE_NOT_EXISTS = new ErrorCode(1_032_050_000, "检验委托来源与样品类型配置不存在");
ErrorCode CONFIG_BASE_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "主样配置不存在");
ErrorCode CONFIG_ASSAY_METHOD_PROJECT_PARAMETER_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目参数配置不存在");
@@ -61,6 +63,10 @@ public interface ErrorCodeConstants {
ErrorCode CONFIG_SIMPLE_FLOW_RULE_NOT_EXISTS = new ErrorCode(1_032_050_000, "LiteFlow规则配置不存在");
ErrorCode CONFIG_SIMPLE_FLOW_CODE_NOT_EXISTS = new ErrorCode(1_032_050_000, "LiteFlow脚本配置不存在");
ErrorCode CONFIG_RULE_NOT_EXISTS = new ErrorCode(1_032_050_000, "规则配置不存在");
ErrorCode CONFIG_XRF_LINE_NOT_EXISTS = new ErrorCode(1_032_050_000, "荧光分析线不存在");
ErrorCode CONFIG_XRF_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "荧光采集检测项目配置不存在");
ErrorCode CONFIG_XRF_CONVERSION_RATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "荧光数据采集特殊检测项目转换率配置不存在");
ErrorCode BASE_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品大类管理不存在");
ErrorCode MATERIAL_ASSAY_STANDARD_DETAIL_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测标准明细不存在");
@@ -79,7 +85,12 @@ public interface ErrorCodeConstants {
ErrorCode CONFIG_QC_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "质控样与检测方法配置不存在");
ErrorCode CONFIG_QC_STANDARD_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "质控与定值样关系不存在");
ErrorCode CONFIG_QC_SAMPLE_METHOD_PARAMETER_NOT_EXISTS = new ErrorCode(1_032_050_000, "质控样检测方法参数配置不存在");
ErrorCode CONFIG_PERMISSION_NOT_EXISTS = new ErrorCode(1_032_050_000, "权限配置不存在");
ErrorCode CONFIG_PERMISSION_DUPLICATE = new ErrorCode(1_032_050_000, "权限配置数据有误");
ErrorCode CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1_032_050_000, "存放位置不存在");
ErrorCode CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE = new ErrorCode(1_032_050_000, "库位编码重复,请检查!");
/*=================================bus 检验业务 1_032_100_000 ~ 1_032_149_999==================================*/
ErrorCode BUSINESS_SAMPLE_ENTRUST_REGISTRATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记业务不存在");
ErrorCode BUSINESS_SAMPLE_ENTRUST_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记样品明细不存在");
@@ -91,9 +102,11 @@ public interface ErrorCodeConstants {
ErrorCode BUSINESS_HANDOVER_RECORD_SUB_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样交接记录业务不存在");
ErrorCode BUSINESS_SAMPLE_ASSAY_RESULT_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记来样品位不存在");
ErrorCode BUSINESS_ASSAY_TASK_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样检测任务业务不存在");
ErrorCode BUSINESS_ASSAY_TASK_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样检测任务参数业务不存在");
ErrorCode BUSINESS_ASSAY_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测项目数据业务不存在");
ErrorCode BUSINESS_ASSAY_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测参数数据业务不存在");
ErrorCode BUSINESS_SUB_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样判定数据业务不存在");
ErrorCode BUSINESS_SUB_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样判定业务不存在");
ErrorCode BUSINESS_SUB_SAMPLE_ASSESSMENT_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样判定检测项目数据业务不存在");
ErrorCode BUSINESS_SAMPLE_HANDOVER_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品交接单业务不存在");
ErrorCode BUSINESS_SAMPLE_HANDOVER_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品交接明细不存在");
ErrorCode BUSINESS_ASSAY_TASK_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测任务分配业务不存在");
@@ -107,24 +120,87 @@ public interface ErrorCodeConstants {
ErrorCode BUSINESS_STANDARD_SAMPLE_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "标准样检测项目业务不存在");
ErrorCode BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定数据业务不存在");
ErrorCode BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定检测项目数据业务不存在");
ErrorCode BUSINESS_SUB_SAMPLE_PARENT_RECHECK_NOT_EXISTS = new ErrorCode(1_032_100_000, "分样复业务数据不存在");
ErrorCode BUSINESS_SUB_SAMPLE_PARENT_RETEST_NOT_EXISTS = new ErrorCode(1_032_100_000, "分样复业务数据不存在");
ErrorCode BUSINESS_QC_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样业务不存在");
ErrorCode BUSINESS_QC_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目数据业务不存在");
ErrorCode BUSINESS_QC_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务数据,管理样、标准样不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目数据业务不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数不存在");
ErrorCode BUSINESS_QC_COEFFICIENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数任务数据,空白样、标样不存在");
ErrorCode BUSINESS_QC_COEFFICIENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数参数业务不存在");
ErrorCode BUSINESS_XRF_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "荧光采集记录不存在");
//检测报告
ErrorCode REPORT_DOCUMENT_MAIN_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告业务不存在");
ErrorCode REPORT_DOCUMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告明细不存在");
ErrorCode REPORT_DOCUMENT_TYPE_NOT_EXISTS = new ErrorCode(1_032_100_000, "报告类型配置不存在");
ErrorCode REPORT_DOCUMENT_MAIN_CORRELATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "报告主数据关系不存在");
ErrorCode REPORT_DOCUMENT_FILE_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告附件不存在");
ErrorCode BUSINESS_SAMPLE_DISPATCH_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品调拨不存在");
ErrorCode BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品调拨明细不存在");
/*=================================resource 资源管理 1_032_150_000 ~ 1_032_199_999 ==================================*/
ErrorCode DEVICE_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备_设备信息不存在");
ErrorCode DEVICE_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备_设备大类不存在");
ErrorCode MATERIAL_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "试剂耗材不存在");
ErrorCode MATERIAL_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_150_000, "试剂耗材大类不存在");
// ----------设备管理----------
ErrorCode DEVICE_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备信息不存在");
ErrorCode DEVICE_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备大类不存在");
ErrorCode DEVICE_MAINTAIN_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备维护数据不存在");
ErrorCode DEVICE_MAINTAIN_ITEM_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备维护项不存在");
ErrorCode DEVICE_CONFIG_BUSINESS_RULE_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备业务配置不存在");
ErrorCode DEVICE_CONFIG_BUSINESS_ITEM_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备业务配置项不存在");
ErrorCode DEVICE_PERIOD_CHECK_NOT_EXISTS = new ErrorCode(1_032_150_000, "期间核查数据不存在");
ErrorCode DEVICE_PERIOD_CHECK_PLAN_NOT_EXISTS = new ErrorCode(1_032_150_000, "期间核查计划不存在");
ErrorCode DEVICE_REPAIR_APPLY_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备维修申请数据不存在");
ErrorCode DEVICE_REPAIR_RESULT_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备维修结果明细不存在");
ErrorCode DEVICE_REPAIR_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备维修明细不存在");
ErrorCode DEVICE_CALIBRATION_PLAN_NOT_EXISTS = new ErrorCode(1_032_150_000, "检定校准计划不存在");
ErrorCode DEVICE_CALIBRATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "检定校准数据不存在");
ErrorCode DEVICE_USE_RECORD_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备使用记录不存在");
ErrorCode DEVICE_AFFILIATION_RELATIVITY_NOT_EXISTS = new ErrorCode(1_032_150_000, "附属设备关系不存在");
ErrorCode DEVICE_APPLY_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备申请明细数据不存在");
ErrorCode DEVICE_APPLY_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备申请数据不存在");
ErrorCode DEVICE_CONFIG_FLOW_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备通用流程配置不存在");
// -------------物料试剂-------------
ErrorCode MATERIAL_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_160_000, "试剂耗材不存在");
ErrorCode MATERIAL_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料分类/大类不存在");
ErrorCode MATERIAL_PRODUCT_PARENT_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料分类/大类的父类不存在");
ErrorCode MATERIAL_PRODUCT_CODE_EXISTED = new ErrorCode(1_032_160_000, "物料大类编码重复");
ErrorCode MATERIAL_CATEGORY_EXISTS_CHILDREN = new ErrorCode(1_032_160_000, "分类下含有子分类或物料大类,不可删除");
ErrorCode MATERIAL_PRODUCT_EXISTS_BATCH = new ErrorCode(1_032_160_000, "物料大类下存在物料批次,不可删除");
ErrorCode MATERIAL_PRODUCTS_EXISTS_CATEGORY = new ErrorCode(1_032_160_000, "物料大类列表中存在分类数据");
ErrorCode MATERIAL_LIFECYCLE_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料通用流程明细不存在");
ErrorCode MATERIAL_LIFECYCLE_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料通用流程不存在");
ErrorCode MATERIAL_BATCH_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料批次不存在");
ErrorCode MATERIAL_BATCH_ASSIGN_END = new ErrorCode(1_032_160_000, "物料批次已拆分,不可操作");
ErrorCode GONGDUAN_BELONG_MATERIAL_BATCH_NOT_EQUAL = new ErrorCode(1_032_160_000, "工段所属的物料批次不一致");
ErrorCode GONGDUAN_QUANTITY_MATERIAL_BATCH_NOT_EQUAL = new ErrorCode(1_032_160_000, "工段累加数量和批次数量不一致");
ErrorCode MATERIAL_BATCH_NOT_ASSIGN_FOR_SUBMIT = new ErrorCode(1_032_160_000, "物料批次未拆分,不可提交");
ErrorCode MATERIAL_BATCH_ASSIGN_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料批次分发不存在");
ErrorCode MATERIAL_INVENTORY_INBOUND_NOT_EXISTS = new ErrorCode(1_032_160_000, "入库,出库不存在");
ErrorCode MATERIAL_INVENTORY_INBOUND_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "入库明细,出库明细等不存在");
ErrorCode SYSTEM_VERSION_MANAGEMENT_NOT_EXISTS = new ErrorCode(1_032_160_000, "客户端版本管理不存在");
ErrorCode MATERIAL_LOCATION_NOT_EXISTS = new ErrorCode(1_032_160_000, "存放位置不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_BATCH_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点项不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点明细不存在");
ErrorCode MATERIAL_INVENTORY_OUTBOUND_NOT_EXISTS = new ErrorCode(1_032_160_000, "出库不存在");
ErrorCode MATERIAL_INVENTORY_OUTBOUND_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "出库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等不存在");
/*================================= tx 1_032_200_000 ~ 1_032_249_999 ==================================*/
@@ -133,6 +209,11 @@ public interface ErrorCodeConstants {
/*================================= office 办公 1_032_250_000 ~ 1_032_299_999 ==================================*/
ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_032_250_000, "供应商不存在");
ErrorCode SUPPLIER_PROPERTIES_NOT_EXISTS = new ErrorCode(1_032_250_000, "供应商属性不存在");
ErrorCode SUPPLIER_EVALUATION_NOT_EXISTS = new ErrorCode(1_032_250_000, "供应商评价不存在");
ErrorCode SUPPLIER_EVALUATION_AT_NOT_EXISTS = new ErrorCode(1_032_250_000, "供应商评价关系不存在");
/*================================= dzj 大质检 1_032_300_000 ~ 1_032_349_999 ==================================*/

View File

@@ -11,6 +11,12 @@ public class QmsBpmConstant {
* 流程回调时使用的ActivityId Key
* */
public static final String BPM_CALLBACK_ACTIVITY_ID = "bpmCallbackActivityId";
public static final String BPM_FIELD_EXTENSIONS = "bpmFieldExtensions";
public static final String BPM_FIRST_ACTIVITY_FLAG = "firstActivityFlag";
public static final String BPM_LAST_ACTIVITY_FLAG = "lastActivityFlag";
public static final String BPM_REJECT_TO_FIRST_FLAG = "rejectToFirstActivity";
public static final String BPM_CUR_ACTIVITY_INS_ID = "currentActivityInsId"; //当前活动实例id
public static final String BPM_PROCESS_INS_ID = "processInstanceId"; //当前活动实例id
//驳回标记前缀
public static final String BPM_CALLBACK_RETURN_FLAG_PREFIX_KEY = "RETURN_FLAG_";

View File

@@ -82,7 +82,10 @@ public interface QmsCommonConstant {
/** 已完成 **/
String COMPLETED = "completed";
/** 已下架 **/
String TAKEN_OFF = "taken_off";
/** 分配任务 **/
String TASK_ASSIGN = "task_assign";
@@ -104,6 +107,15 @@ public interface QmsCommonConstant {
/** 检验委托 **/
String ENTRUST_INSPECTION = "entrust_inspection";
/** 委托样品类型: 委检样 **/
String ENTRUST_COMMISSION_INSPECTION_SAMPLE = "commissionInspectionSample";
/** 委托样品类型: 商检分析样 **/
String ENTRUST_INSPECTION_ANALYSIS_SAMPLE = "inspectionAnalysisSample";
/** 委托样品类型: 商检综合 **/
String ENTRUST_COMPREHENSIVE_INSPECTION_SAMPLE = "comprehensiveInspectionSample";
/** 中心收样 **/
String FLOW_NODE_CENTER_RECEIVE = "flw_center_receive";
@@ -119,12 +131,18 @@ public interface QmsCommonConstant {
/** 分析收样 **/
String FLOW_NODE_ANALYSIS_RECEIVE = "flw_analysis_receive";
/** 分析 **/
String FLOW_NODE_ANALYSIS = "flw_analysis";
/** 分析送样 **/
String FLOW_NODE_ANALYSIS_SEND = "flw_analysis_send";
/** 班组送样 **/
String FLOW_NODE_TEAM_SEND = "flw_team_send";
/** 样品归库 **/
String FLOW_SAMPLE_STORAGE = "flw_sample_storage";
/** 结束 **/
String FLOW_NODE_END = "flw_end";
@@ -148,4 +166,50 @@ public interface QmsCommonConstant {
/** 品质控制 **/
String ASSAY_PROJECT_USAGE_QUALITY_CONTROL = "quality_control";
/** 结果判定-初始值 **/
String ASMT_INITIAL = "initial";
/** 结果判定-待上报 **/
String ASMT_PENDING_REPORT = "pending_report";
/** 结果判定-待判定 **/
String ASMT_PENDING_ASSESSMENT = "pending_assessment";
/** 结果判定-复测中 **/
String ASMT_RE_INSPECTED = "re_inspected";
/** 结果判定-已上报 */
String ASMT_REPORTED = "reported";
/** 检验完成状态-完成 **/
String CHECKED = "checked";
/** 检验完成状态-未完成 **/
String UNCHECKED = "unchecked";
/** 数据回报状态 未回报 **/
String UNRETURNED = "unreturned";
/** 自动 **/
String AUTOMATIC = "automatic";
/** 手动 **/
String MANUAL = "manual";
/** 样品库操作类型: 归库、调拨、下架 **/
String SAMPLE_STORAGE_OPERATION_TYPE_STORAGE = "storage";
String SAMPLE_STORAGE_OPERATION_TYPE_TRANSFER = "dispatch";
String SAMPLE_STORAGE_OPERATION_TYPE_TAKEN_OFF = "take_off";
/** 允许提交 **/
String ALLOW_SUBMIT = "allow_submit";
/** 临时数据标识 **/
String TEMP_DATA_CODE = "-1";
}

View File

@@ -0,0 +1,27 @@
package com.zt.plat.module.qms.enums;
/**
* 权限模块常量
*/
public interface QmsPermissionConstant {
//目标权限类型-角色
String TARGET_TYPE_ROLE = "role";
//目标权限类型-用户
String TARGET_TYPE_USER = "user";
//目标权限类型-部门
String TARGET_TYPE_DEPT = "dept";
//目标权限类型-自定义
String TARGET_TYPE_CUSTOM = "custom";
String DEPT_DATA_AND_SUB = "ytjyDeptAndSub"; //部门
//======================各业务模块权限常量=============================
String REPORT_DOCUMENT_TYPE_START = "report_document_type_start"; //报告发起权限
String SAMPLE_WAREHOUSE_ADMIN = "sample_warehouse_admin"; //样品库管理员
String DEVICE_MANAGER = "qms_device_manager"; //设备管理员
}

View File

@@ -0,0 +1,10 @@
package com.zt.plat.module.qms.enums;
public interface QmsSupplierConstant {
String OPERATING_ITEMS_KEY = "operatingItems";
// 供应商属性资质key
String CERTIFICATION_KEY = "certification";
// 评价流程key
String EVALUATION_FLOW_KEY= "OFFICE_SUPPLIER_EVALUATION";
}

View File

@@ -0,0 +1,21 @@
package com.zt.plat.module.qms.enums;
/**
* 权限模块常量
*/
public interface QmsWarehouseLocationConstant {
//数据类型
String DATA_TYPE_LOCATION = "库位";
String DATA_TYPE_WAREHOUSE = "仓库";
//仓库分类
String WAREHOUSE_TYPE_SAMPLE = "样品库";
String WAREHOUSE_TYPE_MATERIAL = "物料试剂";
//样品下架操作方式
String SAMPLE_TAKE_OFF_ACTION_WAY_SAMPLE = "sample";
String SAMPLE_TAKE_OFF_ACTION_WAY_LOCATION = "warehouseLocation";
}

View File

@@ -16,9 +16,7 @@
<description>
QMS模块。
</description>
<properties>
<zzjc.tio.version>3.9.1.v20251013-RELEASE</zzjc.tio.version>
</properties>
<dependencies>
<!-- Spring Cloud 基础 -->
<dependency>
@@ -141,27 +139,22 @@
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-javax-pro</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-qlexpress</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-graaljs</artifactId>
<version>2.15.1</version>
</dependency>
<!-- pdfbox -->
@@ -198,7 +191,6 @@
<dependency>
<groupId>tech.zzjc.tio</groupId>
<artifactId>zzjc-tio-spring-boot-starter</artifactId>
<version>${zzjc.tio.version}</version>
</dependency>
</dependencies>

View File

@@ -2,6 +2,7 @@ package com.zt.plat.module.qms.api.task;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.spring.SpringUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO;
import com.alibaba.fastjson.JSONObject;
import org.springframework.validation.annotation.Validated;
@@ -12,6 +13,7 @@ import static com.zt.plat.module.qms.enums.QmsBpmConstant.BPM_CALLBACK_BEAN_NAME
@RestController
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class QmsApiImpl implements QmsApi{
@Override

View File

@@ -25,6 +25,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO;
@@ -36,6 +37,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayParameterDataController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -37,6 +39,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-project-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayProjectDataController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-report-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayReportDataController implements BusinessControllerMarker {

View File

@@ -24,9 +24,13 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskService;
@@ -37,6 +41,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-task")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayTaskController implements BusinessControllerMarker {
@@ -89,10 +94,22 @@ public class BusinessAssayTaskController implements BusinessControllerMarker {
@Operation(summary = "获得检测任务分配业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')")
public CommonResult<PageResult<BusinessAssayTaskExtendRespVO>> getBusinessAssayTaskPage(@Valid BusinessAssayTaskPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessAssayTaskExtendRespVO> pageResult = businessAssayTaskService.getBusinessAssayTaskPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/list")
@Operation(summary = "获得检测任务分配业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')")
public CommonResult<List<BusinessAssayTaskExtendRespVO>> getBusinessAssayTaskList(@Valid BusinessAssayTaskPageReqVO reqVO) {
List<BusinessAssayTaskExtendRespVO> listResult = businessAssayTaskService.getBusinessAssayTaskList(reqVO);
return success(listResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出检测任务分配业务 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task:export')")

View File

@@ -21,9 +21,13 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDataService;
@@ -34,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-task-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayTaskDataController implements BusinessControllerMarker {
@@ -86,6 +91,10 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker
@Operation(summary = "获得未指派的子样检测任务业务分组列表")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')")
public CommonResult<?> getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAssayTaskGroupList(reqVO);
return success(list);
}
@@ -94,6 +103,10 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker
@Operation(summary = "获得未审核的子样检测任务业务分组列表")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')")
public CommonResult<?> getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAuditTaskGroupList(reqVO);
return success(list);
}

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-assay-task-detail")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayTaskDetailController implements BusinessControllerMarker {
@@ -87,9 +90,9 @@ public class BusinessAssayTaskDetailController implements BusinessControllerMark
@GetMapping("/page")
@Operation(summary = "获得检测任务分配明细分页")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:query')")
public CommonResult<PageResult<BusinessAssayTaskDetailRespVO>> getBusinessAssayTaskDetailPage(@Valid BusinessAssayTaskDetailPageReqVO pageReqVO) {
PageResult<BusinessAssayTaskDetailDO> pageResult = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessAssayTaskDetailRespVO.class));
public CommonResult<PageResult<BusinessAssayTaskDetailExtendRespVO>> getBusinessAssayTaskDetailPage(@Valid BusinessAssayTaskDetailPageReqVO pageReqVO) {
PageResult<BusinessAssayTaskDetailExtendRespVO> pageResult = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/list")
@@ -107,7 +110,7 @@ public class BusinessAssayTaskDetailController implements BusinessControllerMark
public void exportBusinessAssayTaskDetailExcel(@Valid BusinessAssayTaskDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessAssayTaskDetailDO> list = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO).getList();
List<BusinessAssayTaskDetailExtendRespVO> list = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "检测任务分配明细.xls", "数据", BusinessAssayTaskDetailRespVO.class,
BeanUtils.toBean(list, BusinessAssayTaskDetailRespVO.class));

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskParameterDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 子样检测任务参数业务")
@RestController
@RequestMapping("/qms/business-assay-task-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessAssayTaskParameterDataController implements BusinessControllerMarker {
@Resource
private BusinessAssayTaskParameterDataService businessAssayTaskParameterDataService;
@PostMapping("/create")
@Operation(summary = "创建子样检测任务参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:create')")
public CommonResult<BusinessAssayTaskParameterDataRespVO> createBusinessAssayTaskParameterData(@Valid @RequestBody BusinessAssayTaskParameterDataSaveReqVO createReqVO) {
return success(businessAssayTaskParameterDataService.createBusinessAssayTaskParameterData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新子样检测任务参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:update')")
public CommonResult<Boolean> updateBusinessAssayTaskParameterData(@Valid @RequestBody BusinessAssayTaskParameterDataSaveReqVO updateReqVO) {
businessAssayTaskParameterDataService.updateBusinessAssayTaskParameterData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除子样检测任务参数业务")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessAssayTaskParameterData(@RequestParam("id") Long id) {
businessAssayTaskParameterDataService.deleteBusinessAssayTaskParameterData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除子样检测任务参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessAssayTaskParameterDataList(@RequestBody BatchDeleteReqVO req) {
businessAssayTaskParameterDataService.deleteBusinessAssayTaskParameterDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得子样检测任务参数业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:query')")
public CommonResult<BusinessAssayTaskParameterDataRespVO> getBusinessAssayTaskParameterData(@RequestParam("id") Long id) {
BusinessAssayTaskParameterDataDO businessAssayTaskParameterData = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterData(id);
return success(BeanUtils.toBean(businessAssayTaskParameterData, BusinessAssayTaskParameterDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得子样检测任务参数业务分页")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:query')")
public CommonResult<PageResult<BusinessAssayTaskParameterDataRespVO>> getBusinessAssayTaskParameterDataPage(@Valid BusinessAssayTaskParameterDataPageReqVO pageReqVO) {
PageResult<BusinessAssayTaskParameterDataDO> pageResult = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessAssayTaskParameterDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出子样检测任务参数业务 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessAssayTaskParameterDataExcel(@Valid BusinessAssayTaskParameterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessAssayTaskParameterDataDO> list = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "子样检测任务参数业务.xls", "数据", BusinessAssayTaskParameterDataRespVO.class,
BeanUtils.toBean(list, BusinessAssayTaskParameterDataRespVO.class));
}
}

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-base-sample")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessBaseSampleController implements BusinessControllerMarker {

View File

@@ -24,9 +24,13 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO;
import com.zt.plat.module.qms.business.bus.service.BusinessHandoverRecordSubService;
@@ -37,6 +41,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-handover-record-sub")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessHandoverRecordSubController implements BusinessControllerMarker {
@@ -89,6 +94,11 @@ public class BusinessHandoverRecordSubController implements BusinessControllerMa
@Operation(summary = "获得子样交接记录业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-handover-record-sub:query')")
public CommonResult<PageResult<BusinessHandoverRecordSubExtendRespVO>> getBusinessHandoverRecordSubPage(@Valid BusinessHandoverRecordSubPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
//当前登录用户
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessHandoverRecordSubExtendRespVO> pageResult = businessHandoverRecordSubService.getBusinessHandoverRecordSubPage(pageReqVO);
return success(pageResult);
}

View File

@@ -0,0 +1,117 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCCoefficientDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控样检测系数任务数据,空白样、标样")
@RestController
@RequestMapping("/qms/business-qc-coefficient-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCCoefficientDataController implements BusinessControllerMarker {
@Resource
private BusinessQCCoefficientDataService businessQCCoefficientDataService;
@PostMapping("/create")
@Operation(summary = "创建质控样检测系数任务数据,空白样、标样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:create')")
public CommonResult<BusinessQCCoefficientDataRespVO> createBusinessQCCoefficientData(@Valid @RequestBody BusinessQCCoefficientDataSaveReqVO createReqVO) {
return success(businessQCCoefficientDataService.createBusinessQCCoefficientData(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新质控样检测系数任务数据,空白样、标样")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:update')")
public CommonResult<Boolean> updateBusinessQCCoefficientData(@Valid @RequestBody BusinessQCCoefficientDataSaveReqVO updateReqVO) {
businessQCCoefficientDataService.updateBusinessQCCoefficientData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控样检测系数任务数据,空白样、标样")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:delete')")
public CommonResult<Boolean> deleteBusinessQCCoefficientData(@RequestParam("id") Long id) {
businessQCCoefficientDataService.deleteBusinessQCCoefficientData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控样检测系数任务数据,空白样、标样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:delete')")
public CommonResult<Boolean> deleteBusinessQCCoefficientDataList(@RequestBody BatchDeleteReqVO req) {
businessQCCoefficientDataService.deleteBusinessQCCoefficientDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控样检测系数任务数据,空白样、标样")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')")
public CommonResult<BusinessQCCoefficientDataRespVO> getBusinessQCCoefficientData(@RequestParam("id") Long id) {
BusinessQCCoefficientDataDO businessQCCoefficientData = businessQCCoefficientDataService.getBusinessQCCoefficientData(id);
return success(BeanUtils.toBean(businessQCCoefficientData, BusinessQCCoefficientDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控样检测系数任务数据,空白样、标样分页")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')")
public CommonResult<PageResult<BusinessQCCoefficientDataExtendRespVO>> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataPageReqVO pageReqVO) {
PageResult<BusinessQCCoefficientDataExtendRespVO> pageResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/list")
@Operation(summary = "获得质控样检测系数任务数据,空白样、标样分页")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')")
public CommonResult<List<BusinessQCCoefficientDataExtendRespVO>> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataReqVO reqVO) {
List<BusinessQCCoefficientDataExtendRespVO> listResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataList(reqVO);
return success(listResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控样检测系数任务数据,空白样、标样 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCCoefficientDataExcel(@Valid BusinessQCCoefficientDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCCoefficientDataExtendRespVO> list = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控样检测系数任务数据,空白样、标样.xls", "数据", BusinessQCCoefficientDataRespVO.class,
BeanUtils.toBean(list, BusinessQCCoefficientDataRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCCoefficientParameterDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控样检测系数参数业务")
@RestController
@RequestMapping("/qms/business-qc-coefficient-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCCoefficientParameterDataController implements BusinessControllerMarker {
@Resource
private BusinessQCCoefficientParameterDataService businessQCCoefficientParameterDataService;
@PostMapping("/create")
@Operation(summary = "创建质控样检测系数参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:create')")
public CommonResult<BusinessQCCoefficientParameterDataRespVO> createBusinessQCCoefficientParameterData(@Valid @RequestBody BusinessQCCoefficientParameterDataSaveReqVO createReqVO) {
return success(businessQCCoefficientParameterDataService.createBusinessQCCoefficientParameterData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新质控样检测系数参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:update')")
public CommonResult<Boolean> updateBusinessQCCoefficientParameterData(@Valid @RequestBody BusinessQCCoefficientParameterDataSaveReqVO updateReqVO) {
businessQCCoefficientParameterDataService.updateBusinessQCCoefficientParameterData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控样检测系数参数业务")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCCoefficientParameterData(@RequestParam("id") Long id) {
businessQCCoefficientParameterDataService.deleteBusinessQCCoefficientParameterData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控样检测系数参数业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCCoefficientParameterDataList(@RequestBody BatchDeleteReqVO req) {
businessQCCoefficientParameterDataService.deleteBusinessQCCoefficientParameterDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控样检测系数参数业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:query')")
public CommonResult<BusinessQCCoefficientParameterDataRespVO> getBusinessQCCoefficientParameterData(@RequestParam("id") Long id) {
BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterData = businessQCCoefficientParameterDataService.getBusinessQCCoefficientParameterData(id);
return success(BeanUtils.toBean(businessQCCoefficientParameterData, BusinessQCCoefficientParameterDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控样检测系数参数业务分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:query')")
public CommonResult<PageResult<BusinessQCCoefficientParameterDataRespVO>> getBusinessQCCoefficientParameterDataPage(@Valid BusinessQCCoefficientParameterDataPageReqVO pageReqVO) {
PageResult<BusinessQCCoefficientParameterDataDO> pageResult = businessQCCoefficientParameterDataService.getBusinessQCCoefficientParameterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientParameterDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控样检测系数参数业务 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-parameter-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCCoefficientParameterDataExcel(@Valid BusinessQCCoefficientParameterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCCoefficientParameterDataDO> list = businessQCCoefficientParameterDataService.getBusinessQCCoefficientParameterDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控样检测系数参数业务.xls", "数据", BusinessQCCoefficientParameterDataRespVO.class,
BeanUtils.toBean(list, BusinessQCCoefficientParameterDataRespVO.class));
}
}

View File

@@ -21,6 +21,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -34,6 +36,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-qc-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCDataController implements BusinessControllerMarker {
@@ -47,7 +50,7 @@ public class BusinessQCDataController implements BusinessControllerMarker {
return success(businessQCDataService.createBusinessQCData(createReqVO));
}
@PutMapping("/update")
@PostMapping("/update")
@Operation(summary = "更新质控样业务")
//@PreAuthorize("@ss.hasPermission('qms:business-QC-data:update')")
public CommonResult<Boolean> updateBusinessQCData(@Valid @RequestBody BusinessQCDataSaveReqVO updateReqVO) {

View File

@@ -0,0 +1,117 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控管理样检测任务数据,管理样、标准样")
@RestController
@RequestMapping("/qms/business-qc-management-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCManagementDataController implements BusinessControllerMarker {
@Resource
private BusinessQCManagementDataService businessQCManagementDataService;
@PostMapping("/create")
@Operation(summary = "创建质控管理样检测任务数据,管理样、标准样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:create')")
public CommonResult<BusinessQCManagementDataRespVO> createBusinessQCManagementData(@Valid @RequestBody BusinessQCManagementDataSaveReqVO createReqVO) {
return success(businessQCManagementDataService.createBusinessQCManagementData(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新质控管理样检测任务数据,管理样、标准样")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementData(@Valid @RequestBody BusinessQCManagementDataSaveReqVO updateReqVO) {
businessQCManagementDataService.updateBusinessQCManagementData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控管理样检测任务数据,管理样、标准样")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementData(@RequestParam("id") Long id) {
businessQCManagementDataService.deleteBusinessQCManagementData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控管理样检测任务数据,管理样、标准样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementDataList(@RequestBody BatchDeleteReqVO req) {
businessQCManagementDataService.deleteBusinessQCManagementDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控管理样检测任务数据,管理样、标准样")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')")
public CommonResult<BusinessQCManagementDataRespVO> getBusinessQCManagementData(@RequestParam("id") Long id) {
BusinessQCManagementDataDO businessQCManagementData = businessQCManagementDataService.getBusinessQCManagementData(id);
return success(BeanUtils.toBean(businessQCManagementData, BusinessQCManagementDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控管理样检测任务数据,管理样、标准样分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')")
public CommonResult<PageResult<BusinessQCManagementDataExtendRespVO>> getBusinessQCManagementDataPage(@Valid BusinessQCManagementDataPageReqVO pageReqVO) {
PageResult<BusinessQCManagementDataExtendRespVO> pageResult = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/list")
@Operation(summary = "获得质控管理样检测任务数据,管理样、标准样列表")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')")
public CommonResult<List<BusinessQCManagementDataExtendRespVO>> getBusinessQCManagementDataList(@Valid BusinessQCManagementDataReqVO reqVO) {
List<BusinessQCManagementDataExtendRespVO> listResult = businessQCManagementDataService.getBusinessQCManagementDataList(reqVO);
return success(listResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控管理样检测任务数据,管理样、标准样 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCManagementDataExcel(@Valid BusinessQCManagementDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCManagementDataExtendRespVO> list = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控管理样检测任务数据,管理样、标准样.xls", "数据", BusinessQCManagementDataRespVO.class,
BeanUtils.toBean(list, BusinessQCManagementDataRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementParameterDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控样检测参数数据业务")
@RestController
@RequestMapping("/qms/business-qc-management-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCManagementParameterDataController implements BusinessControllerMarker {
@Resource
private BusinessQCManagementParameterDataService businessQCManagementParameterDataService;
@PostMapping("/create")
@Operation(summary = "创建质控样检测参数数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:create')")
public CommonResult<BusinessQCManagementParameterDataRespVO> createBusinessQCManagementParameterData(@Valid @RequestBody BusinessQCManagementParameterDataSaveReqVO createReqVO) {
return success(businessQCManagementParameterDataService.createBusinessQCManagementParameterData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新质控样检测参数数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementParameterData(@Valid @RequestBody BusinessQCManagementParameterDataSaveReqVO updateReqVO) {
businessQCManagementParameterDataService.updateBusinessQCManagementParameterData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控样检测参数数据业务")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementParameterData(@RequestParam("id") Long id) {
businessQCManagementParameterDataService.deleteBusinessQCManagementParameterData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控样检测参数数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementParameterDataList(@RequestBody BatchDeleteReqVO req) {
businessQCManagementParameterDataService.deleteBusinessQCManagementParameterDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控样检测参数数据业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:query')")
public CommonResult<BusinessQCManagementParameterDataRespVO> getBusinessQCManagementParameterData(@RequestParam("id") Long id) {
BusinessQCManagementParameterDataDO businessQCManagementParameterData = businessQCManagementParameterDataService.getBusinessQCManagementParameterData(id);
return success(BeanUtils.toBean(businessQCManagementParameterData, BusinessQCManagementParameterDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控样检测参数数据业务分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:query')")
public CommonResult<PageResult<BusinessQCManagementParameterDataRespVO>> getBusinessQCManagementParameterDataPage(@Valid BusinessQCManagementParameterDataPageReqVO pageReqVO) {
PageResult<BusinessQCManagementParameterDataDO> pageResult = businessQCManagementParameterDataService.getBusinessQCManagementParameterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCManagementParameterDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控样检测参数数据业务 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-parameter-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCManagementParameterDataExcel(@Valid BusinessQCManagementParameterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCManagementParameterDataDO> list = businessQCManagementParameterDataService.getBusinessQCManagementParameterDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控样检测参数数据业务.xls", "数据", BusinessQCManagementParameterDataRespVO.class,
BeanUtils.toBean(list, BusinessQCManagementParameterDataRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementProjectDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控样检测项目数据业务")
@RestController
@RequestMapping("/qms/business-qc-management-project-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCManagementProjectDataController implements BusinessControllerMarker {
@Resource
private BusinessQCManagementProjectDataService businessQCManagementProjectDataService;
@PostMapping("/create")
@Operation(summary = "创建质控样检测项目数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:create')")
public CommonResult<BusinessQCManagementProjectDataRespVO> createBusinessQCManagementProjectData(@Valid @RequestBody BusinessQCManagementProjectDataSaveReqVO createReqVO) {
return success(businessQCManagementProjectDataService.createBusinessQCManagementProjectData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新质控样检测项目数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementProjectData(@Valid @RequestBody BusinessQCManagementProjectDataSaveReqVO updateReqVO) {
businessQCManagementProjectDataService.updateBusinessQCManagementProjectData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控样检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementProjectData(@RequestParam("id") Long id) {
businessQCManagementProjectDataService.deleteBusinessQCManagementProjectData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控样检测项目数据业务")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementProjectDataList(@RequestBody BatchDeleteReqVO req) {
businessQCManagementProjectDataService.deleteBusinessQCManagementProjectDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控样检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:query')")
public CommonResult<BusinessQCManagementProjectDataRespVO> getBusinessQCManagementProjectData(@RequestParam("id") Long id) {
BusinessQCManagementProjectDataDO businessQCManagementProjectData = businessQCManagementProjectDataService.getBusinessQCManagementProjectData(id);
return success(BeanUtils.toBean(businessQCManagementProjectData, BusinessQCManagementProjectDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控样检测项目数据业务分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:query')")
public CommonResult<PageResult<BusinessQCManagementProjectDataRespVO>> getBusinessQCManagementProjectDataPage(@Valid BusinessQCManagementProjectDataPageReqVO pageReqVO) {
PageResult<BusinessQCManagementProjectDataDO> pageResult = businessQCManagementProjectDataService.getBusinessQCManagementProjectDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCManagementProjectDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控样检测项目数据业务 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-project-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCManagementProjectDataExcel(@Valid BusinessQCManagementProjectDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCManagementProjectDataDO> list = businessQCManagementProjectDataService.getBusinessQCManagementProjectDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控样检测项目数据业务.xls", "数据", BusinessQCManagementProjectDataRespVO.class,
BeanUtils.toBean(list, BusinessQCManagementProjectDataRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementSampleParameterDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@RestController
@RequestMapping("/qms/business-QC-management-sample-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCManagementSampleParameterDataController implements BusinessControllerMarker {
@Resource
private BusinessQCManagementSampleParameterDataService businessQCManagementSampleParameterDataService;
@PostMapping("/create")
@Operation(summary = "创建质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:create')")
public CommonResult<BusinessQCManagementSampleParameterDataRespVO> createBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO createReqVO) {
return success(businessQCManagementSampleParameterDataService.createBusinessQCManagementSampleParameterData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO) {
businessQCManagementSampleParameterDataService.updateBusinessQCManagementSampleParameterData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) {
businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementSampleParameterDataList(@RequestBody BatchDeleteReqVO req) {
businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')")
public CommonResult<BusinessQCManagementSampleParameterDataRespVO> getBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) {
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterData = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterData(id);
return success(BeanUtils.toBean(businessQCManagementSampleParameterData, BusinessQCManagementSampleParameterDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')")
public CommonResult<PageResult<BusinessQCManagementSampleParameterDataRespVO>> getBusinessQCManagementSampleParameterDataPage(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO) {
PageResult<BusinessQCManagementSampleParameterDataDO> pageResult = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCManagementSampleParameterDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCManagementSampleParameterDataExcel(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCManagementSampleParameterDataDO> list = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数.xls", "数据", BusinessQCManagementSampleParameterDataRespVO.class,
BeanUtils.toBean(list, BusinessQCManagementSampleParameterDataRespVO.class));
}
}

View File

@@ -21,6 +21,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -34,6 +36,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-qc-parameter-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCParameterDataController implements BusinessControllerMarker {

View File

@@ -21,6 +21,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -34,6 +36,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-qc-project-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQCProjectDataController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-quality-control-sample-project")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessQualityControlSampleProjectController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-assay-result")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleAssayResultController implements BusinessControllerMarker {

View File

@@ -0,0 +1,199 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.alibaba.fastjson.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchDetailService;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleService;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.service.ConfigWarehouseLocationService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.BUSINESS_SUB_SAMPLE_NOT_EXISTS;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchService;
@Tag(name = "管理后台 - 样品调拨")
@RestController
@RequestMapping("/qms/business-sample-dispatch")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleDispatchController implements BusinessControllerMarker {
@Resource private BusinessSampleDispatchService businessSampleDispatchService;
@Resource private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
@Resource private BusinessSubSampleService businessSubSampleService;
@Resource private ConfigWarehouseLocationService configWarehouseLocationService;
@PostMapping("/createTempData")
@Operation(summary = "创建临时数据")
public CommonResult<BusinessSampleDispatchRespVO> createTempData() {
BusinessSampleDispatchSaveReqVO vo = new BusinessSampleDispatchSaveReqVO();
vo.setCancelStatus("-1");
return success(businessSampleDispatchService.createBusinessSampleDispatch(vo));
}
@PutMapping("/update")
@Operation(summary = "更新样品调拨")
public CommonResult<Boolean> updateBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
updateReqVO.setCancelStatus("0");
updateReqVO.setFlowStatus(QmsCommonConstant.NOT_START);
businessSampleDispatchService.updateBusinessSampleDispatch(updateReqVO);
return success(true);
}
@PostMapping("/addOrRemoveSample")
@Operation(summary = "增加或移除样品")
public CommonResult<Boolean> addOrRemoveSample(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
businessSampleDispatchService.addOrRemoveSample(updateReqVO, true);
return success(true);
}
@PostMapping("/addBySampleReturnCode")
@Operation(summary = "按归库码增加样品")
public CommonResult<Boolean> addBySampleReturnCode(@RequestBody JSONObject param) {
String id = param.getString("id");
String sampleReturnCode = param.getString("sampleReturnCode");
String warehouseCode = param.getString("warehouseCode");
if(ObjectUtils.isEmpty(warehouseCode)){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "请选择仓库,再扫描样品!");
}
BusinessSubSampleDO businessSubSampleDO = businessSubSampleService.getBySampleReturnCode(sampleReturnCode);
if(businessSubSampleDO == null)
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "未查询到此样品!");
//判断样品状态、库位
// String sampleWarehouseCode = businessSubSampleDO.getWarehouseCode(); //todo 判断库位
ConfigWarehouseLocationPageReqVO warehouseReqVO = new ConfigWarehouseLocationPageReqVO();
warehouseReqVO.setId(businessSubSampleDO.getConfigWarehouseLocationInfomationId());
PageResult<ConfigWarehouseLocationRespVO> warehousePage = configWarehouseLocationService.getConfigWarehouseLocationPage(warehouseReqVO);
if(warehousePage.getTotal() == 0){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "未查询到样品所在仓库,请检查样品码是否正确!");
}
ConfigWarehouseLocationRespVO warehouse = warehousePage.getList().get(0);
if(!warehouseCode.equals(warehouse.getWarehouseCode())){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "此样品所在仓库为:"+warehouse.getWarehouseName()+",请检查样品码是否正确!");
}
String returnStatus = businessSubSampleDO.getReturnStatus();
if(!QmsCommonConstant.COMPLETED.equals(returnStatus)){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "样品状态为:"+returnStatus+",不能调拨!");
}
String dispatchStatus = businessSubSampleDO.getDispatchStatus();
if("1".equals(dispatchStatus)){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "样品已被调拨:请归还后再调拨!");
}
BusinessSampleDispatchDetailPageReqVO reqVO = new BusinessSampleDispatchDetailPageReqVO();
reqVO.setParentId(Long.valueOf(id));
reqVO.setSampleReturnCode(sampleReturnCode);
PageResult<BusinessSampleDispatchDetailExtendRespVO> pageDetailList = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(reqVO);
if(pageDetailList.getTotal() > 0){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "次样品已添加,请勿重复添加!");
}
List<Long> sampleIds = new ArrayList<>();
sampleIds.add(businessSubSampleDO.getId());
BusinessSampleDispatchSaveReqVO updateReqVO = new BusinessSampleDispatchSaveReqVO();
updateReqVO.setId(Long.valueOf(id));
updateReqVO.setAddSubSampleIds(sampleIds);
businessSampleDispatchService.addOrRemoveSample(updateReqVO, false);
return success(true);
}
@PostMapping("/createProcessInstance")
@Operation(summary = "发起流程")
public CommonResult<BusinessSampleDispatchRespVO> createProcessInstance(@Valid @RequestBody BusinessSampleDispatchSaveReqVO vo) {
return businessSampleDispatchService.createProcessInstance(vo);
}
@PostMapping("/execDispatch")
@Operation(summary = "执行调拨")
public CommonResult<String> execDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO vo) {
return businessSampleDispatchService.execDispatch(vo);
}
@PostMapping("/execGiveback")
@Operation(summary = "调拨归还")
public CommonResult<String> execGiveback(@RequestBody JSONObject vo) {
return businessSampleDispatchService.execGiveback(vo);
}
@DeleteMapping("/delete")
@Operation(summary = "删除样品调拨")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatch(@RequestParam("id") Long id) {
businessSampleDispatchService.deleteBusinessSampleDispatch(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除样品调拨")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchList(@RequestBody BatchDeleteReqVO req) {
businessSampleDispatchService.deleteBusinessSampleDispatchListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得样品调拨")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:query')")
public CommonResult<BusinessSampleDispatchRespVO> getBusinessSampleDispatch(@RequestParam("id") Long id) {
BusinessSampleDispatchDO businessSampleDispatch = businessSampleDispatchService.getBusinessSampleDispatch(id);
return success(BeanUtils.toBean(businessSampleDispatch, BusinessSampleDispatchRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得样品调拨分页")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:query')")
public CommonResult<PageResult<BusinessSampleDispatchRespVO>> getBusinessSampleDispatchPage(@Valid BusinessSampleDispatchPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDO> pageResult = businessSampleDispatchService.getBusinessSampleDispatchPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleDispatchRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出样品调拨 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSampleDispatchExcel(@Valid BusinessSampleDispatchPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSampleDispatchDO> list = businessSampleDispatchService.getBusinessSampleDispatchPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "样品调拨.xls", "数据", BusinessSampleDispatchRespVO.class,
BeanUtils.toBean(list, BusinessSampleDispatchRespVO.class));
}
}

View File

@@ -0,0 +1,136 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.BUSINESS_SUB_SAMPLE_NOT_EXISTS;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchDetailService;
@Tag(name = "管理后台 - 样品调拨明细")
@RestController
@RequestMapping("/qms/business-sample-dispatch-detail")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleDispatchDetailController implements BusinessControllerMarker {
@Resource private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
@Resource private BusinessSubSampleService businessSubSampleService;
@GetMapping("/searchBySampleCode")
@Operation(summary = "扫码查询待归还样品")
public CommonResult<BusinessSampleDispatchDetailExtendRespVO> searchBySampleCode(HttpServletRequest request) {
String sampleReturnCode = request.getParameter("sampleReturnCode");
if(ObjectUtils.isEmpty(sampleReturnCode))
return CommonResult.error(BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS.getCode(), "请输入样品编号!");
BusinessSampleDispatchDetailPageReqVO reqVO = new BusinessSampleDispatchDetailPageReqVO();
reqVO.setSampleReturnCode(sampleReturnCode);
reqVO.setBorrowStatus("1");
reqVO.setGivebackStatus("0");
PageResult<BusinessSampleDispatchDetailExtendRespVO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(reqVO);
if(pageResult.getTotal() == 0)
return CommonResult.error(BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS.getCode(), "未查询到此样品!");
if(pageResult.getList().size() > 1)
return CommonResult.error(BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS.getCode(), "样品编号重复,请联系管理员检查数据!");
BusinessSampleDispatchDetailExtendRespVO businessSampleDispatchDetailExtendRespVO = pageResult.getList().get(0);
return success(businessSampleDispatchDetailExtendRespVO);
}
@PostMapping("/create")
@Operation(summary = "创建样品调拨明细")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:create')")
public CommonResult<BusinessSampleDispatchDetailRespVO> createBusinessSampleDispatchDetail(@Valid @RequestBody BusinessSampleDispatchDetailSaveReqVO createReqVO) {
return success(businessSampleDispatchDetailService.createBusinessSampleDispatchDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新样品调拨明细")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:update')")
public CommonResult<Boolean> updateBusinessSampleDispatchDetail(@Valid @RequestBody BusinessSampleDispatchDetailSaveReqVO updateReqVO) {
businessSampleDispatchDetailService.updateBusinessSampleDispatchDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除样品调拨明细")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchDetail(@RequestParam("id") Long id) {
businessSampleDispatchDetailService.deleteBusinessSampleDispatchDetail(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除样品调拨明细")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchDetailList(@RequestBody BatchDeleteReqVO req) {
businessSampleDispatchDetailService.deleteBusinessSampleDispatchDetailListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得样品调拨明细")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
public CommonResult<BusinessSampleDispatchDetailRespVO> getBusinessSampleDispatchDetail(@RequestParam("id") Long id) {
BusinessSampleDispatchDetailDO businessSampleDispatchDetail = businessSampleDispatchDetailService.getBusinessSampleDispatchDetail(id);
return success(BeanUtils.toBean(businessSampleDispatchDetail, BusinessSampleDispatchDetailRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得样品调拨明细分页")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
public CommonResult<PageResult<BusinessSampleDispatchDetailExtendRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDetailExtendRespVO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出样品调拨明细 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSampleDispatchDetailExcel(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSampleDispatchDetailExtendRespVO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "样品调拨明细.xls", "数据", BusinessSampleDispatchDetailRespVO.class,
BeanUtils.toBean(list, BusinessSampleDispatchDetailRespVO.class));
}
}

View File

@@ -21,6 +21,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -34,6 +36,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-entrust-detail")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleEntrustDetailController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-entrust-project")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleEntrustProjectController implements BusinessControllerMarker {

View File

@@ -24,6 +24,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -38,6 +40,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-entrust-registration")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleEntrustRegistrationController implements BusinessControllerMarker {
@@ -110,6 +113,9 @@ public class BusinessSampleEntrustRegistrationController implements BusinessCont
@GetMapping("/queryWaitingDataForReport")
@Operation(summary = "查询待编制数据")
public CommonResult<PageResult<BusinessSampleEntrustRegistrationExtendRespVO>> queryWaitingDataForReport(@Valid BusinessSampleEntrustRegistrationPageReqVO pageReqVO) {
Long configReportTypeId = pageReqVO.getConfigReportTypeId();
if(configReportTypeId == null)
return CommonResult.error(0, "缺少configReportTypeId参数请刷新后重试");
PageResult<BusinessSampleEntrustRegistrationExtendRespVO> result = businessSampleEntrustRegistrationService.queryWaitingDataForReport(pageReqVO);
return success(result);
}

View File

@@ -23,12 +23,17 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleHandoverService;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@@ -36,7 +41,8 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-handover")
@Validated
public class BusinessSampleHandoverController implements BusinessControllerMarker {
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleHandoverController {
@Resource
@@ -84,10 +90,23 @@ public class BusinessSampleHandoverController implements BusinessControllerMarke
return success(BeanUtils.toBean(businessSampleHandover, BusinessSampleHandoverRespVO.class));
}
@GetMapping("/reportDetail")
@Operation(summary = "除样品交接详情数据")
public CommonResult<?> reportDetail(@RequestParam("id") Long id) {
JSONObject jsonObject = businessSampleHandoverService.reportDetail(id);
return success(jsonObject);
}
@GetMapping("/page")
@Operation(summary = "获得样品交接单业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover:query')")
public CommonResult<PageResult<BusinessSampleHandoverRespVO>> getBusinessSampleHandoverPage(@Valid BusinessSampleHandoverPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
//当前登录用户
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessSampleHandoverDO> pageResult = businessSampleHandoverService.getBusinessSampleHandoverPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleHandoverRespVO.class));
}

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-handover-detail")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSampleHandoverDetailController implements BusinessControllerMarker {
@@ -92,6 +95,14 @@ public class BusinessSampleHandoverDetailController implements BusinessControlle
return success(BeanUtils.toBean(pageResult, BusinessSampleHandoverDetailRespVO.class));
}
@GetMapping("/takeOffPageList")
@Operation(summary = "获得样品交接明细分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover-detail:query')")
public CommonResult<PageResult<BusinessSampleHandoverDetailRespVO>> takeOffPageList(@Valid BusinessSampleHandoverDetailPageReqVO pageReqVO) {
PageResult<BusinessSampleHandoverDetailRespVO> pageResult = businessSampleHandoverDetailService.takeOffPageList(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出样品交接明细 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover-detail:export')")

View File

@@ -20,6 +20,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -33,6 +35,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-standard-sample")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessStandardSampleController implements BusinessControllerMarker {
@@ -89,9 +92,15 @@ public class BusinessStandardSampleController implements BusinessControllerMarke
return success(BeanUtils.toBean(pageResult, BusinessStandardSampleRespVO.class));
}
@GetMapping("/getBusinessStandardSampleByConfigQCSampleMethodId")
public CommonResult<?> getBusinessStandardSampleByConfigQCSampleMethodId(@RequestParam("configQCSampleMethodId") Long configQCSampleMethodId) {
List<BusinessStandardSampleExtendRespVO> list = businessStandardSampleService.getBusinessStandardSampleByConfigQCSampleMethodId(configQCSampleMethodId);
// @GetMapping("/getBusinessStandardSampleByConfigQCSampleMethodId")
// public CommonResult<?> getBusinessStandardSampleByConfigQCSampleMethodId(@RequestParam("configQCSampleMethodId") Long configQCSampleMethodId) {
// List<BusinessStandardSampleExtendRespVO> list = businessStandardSampleService.getBusinessStandardSampleByConfigQCSampleMethodId(configQCSampleMethodId);
// return success(list);
// }
@GetMapping("/getBusinessStandardSampleLeafList")
public CommonResult<?> getBusinessStandardSampleLeafList() {
List<BusinessStandardSampleExtendRespVO> list = businessStandardSampleService.getBusinessStandardSampleLeafList();
return success(list);
}

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-standard-sample-project")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessStandardSampleProjectController implements BusinessControllerMarker {

View File

@@ -21,6 +21,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -34,6 +36,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sub-parent-sample-assessment")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubParentSampleAssessmentController implements BusinessControllerMarker {
@@ -42,14 +45,14 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@PostMapping("/create")
@Operation(summary = "创建班组判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:create')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:create')")
public CommonResult<BusinessSubParentSampleAssessmentRespVO> createBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentSaveReqVO createReqVO) {
return success(businessSubParentSampleAssessmentService.createBusinessSubParentSampleAssessment(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新班组判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:update')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:update')")
public CommonResult<Boolean> updateBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentSaveReqVO updateReqVO) {
businessSubParentSampleAssessmentService.updateBusinessSubParentSampleAssessment(updateReqVO);
return success(true);
@@ -58,7 +61,7 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@DeleteMapping("/delete")
@Operation(summary = "删除班组判定数据业务")
@Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
businessSubParentSampleAssessmentService.deleteBusinessSubParentSampleAssessment(id);
return success(true);
@@ -67,7 +70,7 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除班组判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessmentList(@RequestBody BatchDeleteReqVO req) {
businessSubParentSampleAssessmentService.deleteBusinessSubParentSampleAssessmentListByIds(req.getIds());
return success(true);
@@ -76,7 +79,7 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@GetMapping("/get")
@Operation(summary = "获得班组判定数据业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
public CommonResult<BusinessSubParentSampleAssessmentRespVO> getBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessment = businessSubParentSampleAssessmentService.getBusinessSubParentSampleAssessment(id);
return success(BeanUtils.toBean(businessSubParentSampleAssessment, BusinessSubParentSampleAssessmentRespVO.class));
@@ -84,7 +87,7 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@GetMapping("/page")
@Operation(summary = "获得班组判定数据业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
public CommonResult<PageResult<BusinessSubParentSampleAssessmentRespVO>> getBusinessSubParentSampleAssessmentPage(@Valid BusinessSubParentSampleAssessmentPageReqVO pageReqVO) {
PageResult<BusinessSubParentSampleAssessmentDO> pageResult = businessSubParentSampleAssessmentService.getBusinessSubParentSampleAssessmentPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubParentSampleAssessmentRespVO.class));
@@ -92,7 +95,7 @@ public class BusinessSubParentSampleAssessmentController implements BusinessCont
@GetMapping("/export-excel")
@Operation(summary = "导出班组判定数据业务 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:export')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSubParentSampleAssessmentExcel(@Valid BusinessSubParentSampleAssessmentPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentProjectDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSubParentSampleAssessmentProjectService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 班组判定检测项目数据业务")
@RestController
@RequestMapping("/qms/business-sub-parent-sample-assessment-project")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubParentSampleAssessmentProjectController implements BusinessControllerMarker {
@Resource
private BusinessSubParentSampleAssessmentProjectService businessSubParentSampleAssessmentProjectService;
@PostMapping("/create")
@Operation(summary = "创建班组判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:create')")
public CommonResult<BusinessSubParentSampleAssessmentProjectRespVO> createBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentProjectSaveReqVO createReqVO) {
return success(businessSubParentSampleAssessmentProjectService.createBusinessSubParentSampleAssessment(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新班组判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:update')")
public CommonResult<Boolean> updateBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentProjectSaveReqVO updateReqVO) {
businessSubParentSampleAssessmentProjectService.updateBusinessSubParentSampleAssessment(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除班组判定检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
businessSubParentSampleAssessmentProjectService.deleteBusinessSubParentSampleAssessment(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除班组判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessmentList(@RequestBody BatchDeleteReqVO req) {
businessSubParentSampleAssessmentProjectService.deleteBusinessSubParentSampleAssessmentListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得班组判定检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
public CommonResult<BusinessSubParentSampleAssessmentProjectRespVO> getBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
BusinessSubParentSampleAssessmentProjectDO businessSubParentSampleAssessment = businessSubParentSampleAssessmentProjectService.getBusinessSubParentSampleAssessment(id);
return success(BeanUtils.toBean(businessSubParentSampleAssessment, BusinessSubParentSampleAssessmentProjectRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得班组判定检测项目数据业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
public CommonResult<PageResult<BusinessSubParentSampleAssessmentProjectRespVO>> getBusinessSubParentSampleAssessmentPage(@Valid BusinessSubParentSampleAssessmentProjectPageReqVO pageReqVO) {
PageResult<BusinessSubParentSampleAssessmentProjectDO> pageResult = businessSubParentSampleAssessmentProjectService.getBusinessSubParentSampleAssessmentPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubParentSampleAssessmentProjectRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出班组判定检测项目数据业务 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSubParentSampleAssessmentExcel(@Valid BusinessSubParentSampleAssessmentProjectPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSubParentSampleAssessmentProjectDO> list = businessSubParentSampleAssessmentProjectService.getBusinessSubParentSampleAssessmentPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "班组判定检测项目数据业务.xls", "数据", BusinessSubParentSampleAssessmentProjectRespVO.class,
BeanUtils.toBean(list, BusinessSubParentSampleAssessmentProjectRespVO.class));
}
}

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sub-parent-sample")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubParentSampleController implements BusinessControllerMarker {

View File

@@ -23,6 +23,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -36,6 +38,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sub-sample-analysis-group")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubSampleAnalysisGroupController implements BusinessControllerMarker {

View File

@@ -1,8 +1,5 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -23,6 +20,8 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
@@ -32,10 +31,11 @@ import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleAssessmentSe
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 子样判定数据业务")
@Tag(name = "管理后台 - 子样判定业务")
@RestController
@RequestMapping("/qms/business-sub-sample-assessment")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubSampleAssessmentController implements BusinessControllerMarker {
@@ -43,24 +43,24 @@ public class BusinessSubSampleAssessmentController implements BusinessController
private BusinessSubSampleAssessmentService businessSubSampleAssessmentService;
@PostMapping("/create")
@Operation(summary = "创建子样判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:create')")
@Operation(summary = "创建子样判定业务")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:create')")
public CommonResult<BusinessSubSampleAssessmentRespVO> createBusinessSubSampleAssessment(@Valid @RequestBody BusinessSubSampleAssessmentSaveReqVO createReqVO) {
return success(businessSubSampleAssessmentService.createBusinessSubSampleAssessment(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新子样判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:update')")
@Operation(summary = "更新子样判定业务")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:update')")
public CommonResult<Boolean> updateBusinessSubSampleAssessment(@Valid @RequestBody BusinessSubSampleAssessmentSaveReqVO updateReqVO) {
businessSubSampleAssessmentService.updateBusinessSubSampleAssessment(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除子样判定数据业务")
@Operation(summary = "删除子样判定业务")
@Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleAssessment(@RequestParam("id") Long id) {
businessSubSampleAssessmentService.deleteBusinessSubSampleAssessment(id);
return success(true);
@@ -68,40 +68,40 @@ public class BusinessSubSampleAssessmentController implements BusinessController
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除子样判定数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
@Operation(summary = "批量删除子样判定业务")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleAssessmentList(@RequestBody BatchDeleteReqVO req) {
businessSubSampleAssessmentService.deleteBusinessSubSampleAssessmentListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得子样判定数据业务")
@Operation(summary = "获得子样判定业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
public CommonResult<BusinessSubSampleAssessmentRespVO> getBusinessSubSampleAssessment(@RequestParam("id") Long id) {
BusinessSubSampleAssessmentDO businessSubSampleAssessment = businessSubSampleAssessmentService.getBusinessSubSampleAssessment(id);
return success(BeanUtils.toBean(businessSubSampleAssessment, BusinessSubSampleAssessmentRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得子样判定数据业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
@Operation(summary = "获得子样判定业务分页")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
public CommonResult<PageResult<BusinessSubSampleAssessmentRespVO>> getBusinessSubSampleAssessmentPage(@Valid BusinessSubSampleAssessmentPageReqVO pageReqVO) {
PageResult<BusinessSubSampleAssessmentDO> pageResult = businessSubSampleAssessmentService.getBusinessSubSampleAssessmentPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubSampleAssessmentRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出子样判定数据业务 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:export')")
@Operation(summary = "导出子样判定业务 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSubSampleAssessmentExcel(@Valid BusinessSubSampleAssessmentPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSubSampleAssessmentDO> list = businessSubSampleAssessmentService.getBusinessSubSampleAssessmentPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "子样判定数据业务.xls", "数据", BusinessSubSampleAssessmentRespVO.class,
ExcelUtils.write(response, "子样判定业务.xls", "数据", BusinessSubSampleAssessmentRespVO.class,
BeanUtils.toBean(list, BusinessSubSampleAssessmentRespVO.class));
}

View File

@@ -0,0 +1,111 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentProjectPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentProjectRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentProjectSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentProjectDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleAssessmentProjectService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 子样判定检测项目数据业务")
@RestController
@RequestMapping("/qms/business-sub-sample-assessment-project")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubSampleAssessmentProjectController implements BusinessControllerMarker {
@Resource
private BusinessSubSampleAssessmentProjectService businessSubSampleAssessmentProjectService;
@PostMapping("/create")
@Operation(summary = "创建子样判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:create')")
public CommonResult<BusinessSubSampleAssessmentProjectRespVO> createBusinessSubSampleAssessment(@Valid @RequestBody BusinessSubSampleAssessmentProjectSaveReqVO createReqVO) {
return success(businessSubSampleAssessmentProjectService.createBusinessSubSampleAssessment(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新子样判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:update')")
public CommonResult<Boolean> updateBusinessSubSampleAssessment(@Valid @RequestBody BusinessSubSampleAssessmentProjectSaveReqVO updateReqVO) {
businessSubSampleAssessmentProjectService.updateBusinessSubSampleAssessment(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除子样判定检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleAssessment(@RequestParam("id") Long id) {
businessSubSampleAssessmentProjectService.deleteBusinessSubSampleAssessment(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除子样判定检测项目数据业务")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleAssessmentList(@RequestBody BatchDeleteReqVO req) {
businessSubSampleAssessmentProjectService.deleteBusinessSubSampleAssessmentListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得子样判定检测项目数据业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
public CommonResult<BusinessSubSampleAssessmentProjectRespVO> getBusinessSubSampleAssessment(@RequestParam("id") Long id) {
BusinessSubSampleAssessmentProjectDO businessSubSampleAssessment = businessSubSampleAssessmentProjectService.getBusinessSubSampleAssessment(id);
return success(BeanUtils.toBean(businessSubSampleAssessment, BusinessSubSampleAssessmentProjectRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得子样判定检测项目数据业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:query')")
public CommonResult<PageResult<BusinessSubSampleAssessmentProjectRespVO>> getBusinessSubSampleAssessmentPage(@Valid BusinessSubSampleAssessmentProjectPageReqVO pageReqVO) {
PageResult<BusinessSubSampleAssessmentProjectDO> pageResult = businessSubSampleAssessmentProjectService.getBusinessSubSampleAssessmentPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubSampleAssessmentProjectRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出子样判定检测项目数据业务 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-assessment:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSubSampleAssessmentExcel(@Valid BusinessSubSampleAssessmentProjectPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSubSampleAssessmentProjectDO> list = businessSubSampleAssessmentProjectService.getBusinessSubSampleAssessmentPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "子样判定检测项目数据业务.xls", "数据", BusinessSubSampleAssessmentProjectRespVO.class,
BeanUtils.toBean(list, BusinessSubSampleAssessmentProjectRespVO.class));
}
}

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.alibaba.fastjson.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -21,9 +22,13 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDataService;
@@ -36,6 +41,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sub-sample")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubSampleController implements BusinessControllerMarker {
@@ -82,9 +88,19 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
@Operation(summary = "获得子样业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')")
public CommonResult<BusinessSubSampleRespVO> getBusinessSubSample(@RequestParam("id") Long id) {
BusinessSubSampleDO businessSubSample = businessSubSampleService.getBusinessSubSample(id);
return success(BeanUtils.toBean(businessSubSample, BusinessSubSampleRespVO.class));
public CommonResult<BusinessSubSampleExtendRespVO> getBusinessSubSample(@RequestParam("id") Long id) {
// BusinessSubSampleDO businessSubSample = businessSubSampleService.getBusinessSubSample(id);
// return success(BeanUtils.toBean(businessSubSample, BusinessSubSampleRespVO.class));
BusinessSubSampleExtendRespVO result = businessSubSampleService.getBusinessSubSample(id);
return success(result);
}
@GetMapping("/getPrintSubSample")
@Operation(summary = "获得打印子样业务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<BusinessSubSampleExtendRespVO> getPrintSubSample(@RequestParam("id") Long id) {
BusinessSubSampleExtendRespVO result = businessSubSampleService.getPrintSubSample(id);
return success(result);
}
@GetMapping("/list")
@@ -103,6 +119,32 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
return success(pageResult);
}
@GetMapping("/page-analysis-group")
@Operation(summary = "获得子样分析部门分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')")
public CommonResult<PageResult<BusinessSubSampleExtendRespVO>> getAnalysisGroupPage(@Valid BusinessSubSamplePageReqVO pageReqVO) {
if (pageReqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
PageResult<BusinessSubSampleExtendRespVO> pageResult = businessSubSampleService.getAnalysisGroupPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/page-stock")
@Operation(summary = "查询样品库分页数据")
public CommonResult<PageResult<BusinessSubSampleExtendRespVO>> pageStock(@Valid BusinessSubSamplePageReqVO pageReqVO) {
PageResult<BusinessSubSampleExtendRespVO> pageResult = businessSubSampleService.getBusinessSubSamplePage(pageReqVO);
return success(pageResult);
}
@GetMapping("/selectPageForDispatch")
@Operation(summary = "查询可申请调拨子样")
public CommonResult<PageResult<BusinessSubSampleExtendRespVO>> selectPageForDispatch(@Valid BusinessSubSamplePageReqVO pageReqVO) {
PageResult<BusinessSubSampleExtendRespVO> pageResult = businessSubSampleService.selectPageForDispatch(pageReqVO);
return success(pageResult);
}
@GetMapping("/page-task")
@Operation(summary = "获得子样业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')")
@@ -139,4 +181,24 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
BeanUtils.toBean(list, BusinessSubSampleRespVO.class));
}
@PostMapping("/execReturnToStock")
@Operation(summary = "样品归库")
public CommonResult<BusinessSubSampleRespVO> execReturnToStock(@Valid @RequestBody BusinessSubSampleSaveReqVO reqVO) {
return success(businessSubSampleService.execReturnToStock(reqVO));
}
@PostMapping("/execTakeOff")
@Operation(summary = "样品下架")
public CommonResult<Integer> execTakeOff(@RequestBody JSONObject reqVO) {
Integer count = businessSubSampleService.execTakeOff(reqVO);
return success(count);
}
@PostMapping("/execChangeLocation")
@Operation(summary = "库位变更")
public CommonResult<Integer> execChangeLocation(@RequestBody JSONObject reqVO) {
Integer count = businessSubSampleService.execChangeLocation(reqVO);
return success(count);
}
}

View File

@@ -21,86 +21,89 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleParentRecheckDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleParentRecheckService;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleParentRetestDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleParentRetestService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 分样复业务数据")
@Tag(name = "管理后台 - 分样复业务数据")
@RestController
@RequestMapping("/qms/business-sub-sample-parent-recheck")
@RequestMapping("/qms/business-sub-sample-parent-retest")
@Validated
public class BusinessSubSampleParentRecheckController implements BusinessControllerMarker {
@DeptDataPermissionIgnore(enable = "true")
public class BusinessSubSampleParentRetestController implements BusinessControllerMarker {
@Resource
private BusinessSubSampleParentRecheckService businessSubSampleParentRecheckService;
private BusinessSubSampleParentRetestService businessSubSampleParentRetestService;
@PostMapping("/create")
@Operation(summary = "创建分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:create')")
public CommonResult<BusinessSubSampleParentRecheckRespVO> createBusinessSubSampleParentRecheck(@Valid @RequestBody BusinessSubSampleParentRecheckSaveReqVO createReqVO) {
return success(businessSubSampleParentRecheckService.createBusinessSubSampleParentRecheck(createReqVO));
@Operation(summary = "创建分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:create')")
public CommonResult<BusinessSubSampleParentRetestRespVO> createBusinessSubSampleParentRetest(@Valid @RequestBody BusinessSubSampleParentRetestSaveReqVO createReqVO) {
return success(businessSubSampleParentRetestService.createBusinessSubSampleParentRetest(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:update')")
public CommonResult<Boolean> updateBusinessSubSampleParentRecheck(@Valid @RequestBody BusinessSubSampleParentRecheckSaveReqVO updateReqVO) {
businessSubSampleParentRecheckService.updateBusinessSubSampleParentRecheck(updateReqVO);
@Operation(summary = "更新分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:update')")
public CommonResult<Boolean> updateBusinessSubSampleParentRetest(@Valid @RequestBody BusinessSubSampleParentRetestSaveReqVO updateReqVO) {
businessSubSampleParentRetestService.updateBusinessSubSampleParentRetest(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除分样复业务数据")
@Operation(summary = "删除分样复业务数据")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleParentRecheck(@RequestParam("id") Long id) {
businessSubSampleParentRecheckService.deleteBusinessSubSampleParentRecheck(id);
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleParentRetest(@RequestParam("id") Long id) {
businessSubSampleParentRetestService.deleteBusinessSubSampleParentRetest(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleParentRecheckList(@RequestBody BatchDeleteReqVO req) {
businessSubSampleParentRecheckService.deleteBusinessSubSampleParentRecheckListByIds(req.getIds());
@Operation(summary = "批量删除分样复业务数据")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:delete')")
public CommonResult<Boolean> deleteBusinessSubSampleParentRetestList(@RequestBody BatchDeleteReqVO req) {
businessSubSampleParentRetestService.deleteBusinessSubSampleParentRetestListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得分样复业务数据")
@Operation(summary = "获得分样复业务数据")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:query')")
public CommonResult<BusinessSubSampleParentRecheckRespVO> getBusinessSubSampleParentRecheck(@RequestParam("id") Long id) {
BusinessSubSampleParentRecheckDO businessSubSampleParentRecheck = businessSubSampleParentRecheckService.getBusinessSubSampleParentRecheck(id);
return success(BeanUtils.toBean(businessSubSampleParentRecheck, BusinessSubSampleParentRecheckRespVO.class));
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:query')")
public CommonResult<BusinessSubSampleParentRetestRespVO> getBusinessSubSampleParentRetest(@RequestParam("id") Long id) {
BusinessSubSampleParentRetestDO businessSubSampleParentRetest = businessSubSampleParentRetestService.getBusinessSubSampleParentRetest(id);
return success(BeanUtils.toBean(businessSubSampleParentRetest, BusinessSubSampleParentRetestRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得分样复业务数据分页")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:query')")
public CommonResult<PageResult<BusinessSubSampleParentRecheckRespVO>> getBusinessSubSampleParentRecheckPage(@Valid BusinessSubSampleParentRecheckPageReqVO pageReqVO) {
PageResult<BusinessSubSampleParentRecheckDO> pageResult = businessSubSampleParentRecheckService.getBusinessSubSampleParentRecheckPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubSampleParentRecheckRespVO.class));
@Operation(summary = "获得分样复业务数据分页")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:query')")
public CommonResult<PageResult<BusinessSubSampleParentRetestRespVO>> getBusinessSubSampleParentRetestPage(@Valid BusinessSubSampleParentRetestPageReqVO pageReqVO) {
PageResult<BusinessSubSampleParentRetestDO> pageResult = businessSubSampleParentRetestService.getBusinessSubSampleParentRetestPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSubSampleParentRetestRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出分样复业务数据 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-recheck:export')")
@Operation(summary = "导出分样复业务数据 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sub-sample-parent-retest:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSubSampleParentRecheckExcel(@Valid BusinessSubSampleParentRecheckPageReqVO pageReqVO,
public void exportBusinessSubSampleParentRetestExcel(@Valid BusinessSubSampleParentRetestPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSubSampleParentRecheckDO> list = businessSubSampleParentRecheckService.getBusinessSubSampleParentRecheckPage(pageReqVO).getList();
List<BusinessSubSampleParentRetestDO> list = businessSubSampleParentRetestService.getBusinessSubSampleParentRetestPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "分样复业务数据.xls", "数据", BusinessSubSampleParentRecheckRespVO.class,
BeanUtils.toBean(list, BusinessSubSampleParentRecheckRespVO.class));
ExcelUtils.write(response, "分样复业务数据.xls", "数据", BusinessSubSampleParentRetestRespVO.class,
BeanUtils.toBean(list, BusinessSubSampleParentRetestRespVO.class));
}
}

View File

@@ -0,0 +1,108 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessXRFDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessXRFDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 荧光采集记录")
@RestController
@RequestMapping("/qms/business-xrf-data")
@Validated
@DeptDataPermissionIgnore(enable = "true")
public class BusinessXRFDataController implements BusinessControllerMarker {
@Resource
private BusinessXRFDataService businessXRFDataService;
@PostMapping("/create")
@Operation(summary = "创建荧光采集记录")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:create')")
public CommonResult<BusinessXRFDataRespVO> createBusinessXRFData(@Valid @RequestBody BusinessXRFDataSaveReqVO createReqVO) {
return success(businessXRFDataService.createBusinessXRFData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新荧光采集记录")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:update')")
public CommonResult<Boolean> updateBusinessXRFData(@Valid @RequestBody BusinessXRFDataSaveReqVO updateReqVO) {
businessXRFDataService.updateBusinessXRFData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除荧光采集记录")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:delete')")
public CommonResult<Boolean> deleteBusinessXRFData(@RequestParam("id") Long id) {
businessXRFDataService.deleteBusinessXRFData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除荧光采集记录")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:delete')")
public CommonResult<Boolean> deleteBusinessXRFDataList(@RequestBody BatchDeleteReqVO req) {
businessXRFDataService.deleteBusinessXRFDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得荧光采集记录")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:query')")
public CommonResult<BusinessXRFDataRespVO> getBusinessXRFData(@RequestParam("id") Long id) {
BusinessXRFDataDO businessXRFData = businessXRFDataService.getBusinessXRFData(id);
return success(BeanUtils.toBean(businessXRFData, BusinessXRFDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得荧光采集记录分页")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:query')")
public CommonResult<PageResult<BusinessXRFDataRespVO>> getBusinessXRFDataPage(@Valid BusinessXRFDataPageReqVO pageReqVO) {
PageResult<BusinessXRFDataDO> pageResult = businessXRFDataService.getBusinessXRFDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessXRFDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出荧光采集记录 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-XRF-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessXRFDataExcel(@Valid BusinessXRFDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessXRFDataDO> list = businessXRFDataService.getBusinessXRFDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "荧光采集记录.xls", "数据", BusinessXRFDataRespVO.class,
BeanUtils.toBean(list, BusinessXRFDataRespVO.class));
}
}

View File

@@ -8,8 +8,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchAssessmentDataReportingReqVO.BusinessSubSampleIdAndRetestCount;
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -25,26 +28,25 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
@RestController
@RequestMapping("/qms/bus/sample/analysis-audit")
@Validated
public class SampleAnalysisAuditController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleAnalysisAuditController implements BusinessControllerMarker {
@Resource
private SampleAnalysisAuditService sampleAnalysisAuditService;
/**
* 交叉审核
* @return
*/
@PostMapping("/crossAudit")
public CommonResult<?> crossAudit(Long businessAssayTaskId, String auditStatus) {
sampleAnalysisAuditService.crossAuditByByTaskId(businessAssayTaskId, auditStatus);
sampleAnalysisAuditService.crossAuditByTaskId(businessAssayTaskId, auditStatus);
return success("成功");
}
@GetMapping("/getSampleResultAssessmentList")
public CommonResult<JSONObject> getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) {
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId, assessmentStatus);
public CommonResult<JSONObject> getSampleResultAssessmentList(BusinessAssayTaskDataReqVO reqVO) {
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(reqVO);
return success(result);
}
@@ -87,23 +89,23 @@ public class SampleAnalysisAuditController {
//判定数据上报
@PostMapping("/assessmentDataReporting")
public CommonResult<?> assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, configAssayMethodId);
public CommonResult<?> assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId, Integer retestCount) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, configAssayMethodId, retestCount);
return success("成功");
}
@PostMapping("/batchAssessmentDataReporting")
public CommonResult<?> batchAssessmentDataReporting(@RequestBody BatchAssessmentDataReportingReqVO reqVO) {
for (Long businessSubSampleId : reqVO.getBusinessSubSampleIds()) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, reqVO.getConfigAssayMethodId());
for (BusinessSubSampleIdAndRetestCount businessSubSampleIdAndRetestCount : reqVO.getBusinessSubSampleIdAndRetestCounts()) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleIdAndRetestCount.getBusinessSubSampleId(), reqVO.getConfigAssayMethodId(), businessSubSampleIdAndRetestCount.getRetestCount());
}
return success("成功");
}
//重新创建复检委托
@PostMapping("/createReAnalysis")
public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) {
sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId);
public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId, Integer retestCount) {
sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId, retestCount);
return success("成功");
}

View File

@@ -7,8 +7,11 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisService;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
@@ -22,28 +25,69 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
@RestController
@RequestMapping("/qms/bus/sample/analysis")
@Validated
public class SampleAnalysisController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleAnalysisController implements BusinessControllerMarker {
@Resource
private SampleAnalysisService sampleAnalysisService ;
@Deprecated
@GetMapping("/batchSampleAnalysisByTaskId")
public CommonResult<?> batchSampleAnalysisByTaskId(Long businessAssayTaskId) {
BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProject = sampleAnalysisService.batchSampleAnalysisByTaskId(businessAssayTaskId);
return success(businessAssayTaskAnalysisSampleProject);
}
@Deprecated
@PostMapping("/saveBatchSampleAnalysis")
public CommonResult<?> saveBatchSampleAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleProjectRespVO vo) {
sampleAnalysisService.saveBatchSampleAnalysis(vo);
return success("成功");
}
@GetMapping("/batchSampleAndQcAnalysisByTaskId")
public CommonResult<?> batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId) {
BusinessAssayTaskAnalysisSampleAndQcProjectRespVO businessAssayTaskAnalysisSampleAndQcProject = sampleAnalysisService.batchSampleAndQcAnalysisByTaskId(businessAssayTaskId);
return success(businessAssayTaskAnalysisSampleAndQcProject);
}
@PostMapping("/saveBatchSmpleAndQcAnalysis")
public CommonResult<?> saveBatchSmpleAndQcAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleAndQcProjectRespVO vo) {
sampleAnalysisService.saveBatchSmpleAndQcAnalysis(vo);
return success("成功");
}
//下发配料(自动火试金配料)
@PostMapping("/issuedIngredients")
public CommonResult<?> issuedIngredients(Long businessAssayTaskId) {
sampleAnalysisService.issuedIngredients(businessAssayTaskId);
return success("成功");
}
//人工配料
@PostMapping("/manualIngredients")
public CommonResult<?> manualIngredients(Long businessAssayTaskId) {
sampleAnalysisService.manualIngredients(businessAssayTaskId);
return success("成功");
}
//提交分析
@PostMapping("/submitSampleAnalysisByTaskId")
public CommonResult<?> submitSampleAnalysisByTaskId(Long businessAssayTaskId) {
sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId);
return success("成功");
}
@GetMapping("/getSampleAnalysisDataByTaskDataId")
public CommonResult<?> getSampleAnalysisDataByTaskDataId(Long businessAssayTaskDataId) {
JSONObject json = sampleAnalysisService.getSampleAnalysisDataByTaskDataId(businessAssayTaskDataId);
return success(json);
}
@PostMapping("/rollbackAnalysisSample")
public CommonResult<?> rollbackAnalysisSample(@RequestBody BusinessAssayTaskBackSampleReqVO req) {
sampleAnalysisService.rollbackAnalysisSample(req);
return success("成功");
}
}

View File

@@ -14,11 +14,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSONObject;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.flow.LiteflowResponse;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustParam;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext;
@@ -33,7 +35,8 @@ import jakarta.validation.Valid;
@RestController
@RequestMapping("/qms/bus/sample/entrust")
@Validated
public class SampleEntrustController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleEntrustController implements BusinessControllerMarker {
@Resource
private FlowExecutor flowExecutor;

View File

@@ -1,39 +1,32 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import java.util.ArrayList;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSON;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.flow.LiteflowResponse;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowInfo;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowParam;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext;
import com.zt.plat.module.qms.business.bus.service.SampleFlowService;
import com.zt.plat.module.qms.core.sampleflow.SampleFlowDefinition;
import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import static com.zt.plat.framework.common.pojo.CommonResult.error;
@Tag(name = "管理后台 - 样品流转")
@RestController
@RequestMapping("/qms/bus/sample/flow")
@Validated
public class SampleFlowController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleFlowController implements BusinessControllerMarker {
@Resource
private SampleFlowService sampleFlowService;
@@ -45,138 +38,22 @@ public class SampleFlowController {
public CommonResult<?> sampleFlow(@Validated @RequestBody SampleFlowParam sampleFlowParam) {
LiteflowResponse response = sampleFlowService.sampleFlow(sampleFlowParam);
return success(response.getContextBean(SampleFlowContext.class));
}
@GetMapping("/test")
public CommonResult<?> test() {
SampleFlowDefinition sampleFlowDefinition = new SampleFlowDefinition();
sampleFlowDefinition.setFlowKey("flw_sub_sample_process");
sampleFlowDefinition.setFlowName("子样样品流转流程");
List<SampleFlowNode> flowNodeList = new ArrayList<>();
SampleFlowNode zxr = new SampleFlowNode();
zxr.setNodeName("中心收样");
zxr.setNodeKey("flw_center_receive");
zxr.setSort(3100);
SampleFlowNode zxs = new SampleFlowNode();
zxs.setNodeName("中心送样");
zxs.setNodeKey("flw_center_send");
zxs.setSort(3200);
SampleFlowNode bzr = new SampleFlowNode();
bzr.setNodeName("班组收样");
bzr.setNodeKey("flw_team_receive");
bzr.setSort(3300);
SampleFlowNode ypbm = new SampleFlowNode();
ypbm.setNodeName("样品编密");
ypbm.setNodeKey("flw_sample_encrypt");
ypbm.setSort(3400);
// SampleFlowNode fxr = new SampleFlowNode();
// fxr.setNodeName("分析收样");
// fxr.setNodeKey("flw_analysis_receive");
// fxr.setSort(3500);
//
SampleFlowNode fx = new SampleFlowNode();
fx.setNodeName("样品分析");
fx.setNodeKey("flw_analysis");
fx.setSort(3550);
//
// SampleFlowNode fxs = new SampleFlowNode();
// fxs.setNodeName("分析送样");
// fxs.setNodeKey("flw_analysis_send");
// fxs.setSort(3600);
SampleFlowNode bzs = new SampleFlowNode();
bzs.setNodeName("班组送样");
bzs.setNodeKey("flw_team_send");
bzs.setSort(3700);
SampleFlowNode ypgk = new SampleFlowNode();
ypgk.setNodeName("样品归库");
ypgk.setNodeKey("flw_sample_storage");
ypgk.setSort(3800);
ypgk.setNextFlowNodeList(null);
flowNodeList.add(ypgk);
zxr.setNextFlowNodeList(new ArrayList<SampleFlowNode>() {
{
add(BeanUtils.toBean(zxs,SampleFlowNode.class).setIsDefault(true));
}
});
flowNodeList.add(zxr);
zxs.setNextFlowNodeList(new ArrayList<>() {{
add(BeanUtils.toBean(bzr,SampleFlowNode.class).setIsDefault(true));
}});
flowNodeList.add(zxs);
bzr.setNextFlowNodeList(new ArrayList<>() {{
add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过
add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过
}});
flowNodeList.add(bzr);
ypbm.setNextFlowNodeList(new ArrayList<>() {{
add(BeanUtils.toBean(fx,SampleFlowNode.class).setIsDefault(true));
}});
flowNodeList.add(ypbm);
// fxr.setNextFlowNodeList(new ArrayList<>() {{
// add(BeanUtils.toBean(fxs,SampleFlowNode.class).setIsDefault(true));
// }});
// flowNodeList.add(fxr);
//
//
// fxs.setNextFlowNodeList(new ArrayList<>() {{
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完"));
// }});
// flowNodeList.add(fxs);
fx.setNextFlowNodeList(new ArrayList<>() {{
add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完"));
}});
flowNodeList.add(fx);
bzs.setNextFlowNodeList(new ArrayList<>() {{
add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("样品当前分析班组结果超差,需要发起复检"));
add(BeanUtils.toBean(bzr,SampleFlowNode.class).setCondition("当前部门数据已全部判断上报"));
add(BeanUtils.toBean(ypgk,SampleFlowNode.class).setCondition("当前样品所有分析任务已全部上报完"));
}});
flowNodeList.add(bzs);
sampleFlowDefinition.setFlowNodeList(flowNodeList);
String jsonSampleFlowDefinition = JSON.toJSONString(sampleFlowDefinition);
System.out.println(jsonSampleFlowDefinition);
Long tenantId = TenantContextHolder.getRequiredTenantId();
List<SampleFlowInfo> sampleFlowInfoList = new ArrayList<>();
sampleFlowInfoList.add(new SampleFlowInfo().setId(1967550576457330690L).setIsWeighing(0));
SampleFlowParam sampleFlowParam = new SampleFlowParam();
sampleFlowParam.setSampleSourceType(2);
sampleFlowParam.setCurrentSampleFlowKey("P3000");
sampleFlowParam.setSampleFlowInfoList(sampleFlowInfoList);
LiteflowResponse response = flowExecutor.execute2Resp("sampleFlowChain" + tenantId, sampleFlowParam, SampleFlowContext.class);
if (response.isSuccess()) {
return success(response.getContextBean(SampleFlowContext.class));
} else {
return error(1_032_100_000, response.getMessage());
}
//return success(FlowBus.getNodeMap());
}
}
/**
* 中心收样并送样
* @param sampleFlowParam
* @return
*/
@PostMapping("/centerReceiveAndSend")
public CommonResult<?> centerReceiveAndSend(@Validated @RequestBody SampleFlowParam sampleFlowParam) {
//中心收样
sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_CENTER_RECEIVE);
LiteflowResponse response = sampleFlowService.sampleFlow(sampleFlowParam);
//中心送样
sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_CENTER_SEND);
sampleFlowParam.setSendSampleOper(null);
response = sampleFlowService.sampleFlow(sampleFlowParam);
return success(response.getContextBean(SampleFlowContext.class));
}
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService;
import com.zt.plat.module.qms.business.bus.service.SampleEntrustService;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.annotation.Resource;
/**
* 报表数据查询接口不继承BusinessControllerMarker
*/
@RestController
@RequestMapping("/qms/bus/sample/reporting-data-query")
@DeptDataPermissionIgnore(enable = "true")
public class SampleReportDataQueryController {
@Resource
private SampleEntrustService sampleEntrustService;
@Resource
private SampleAnalysisAuditService sampleAnalysisAuditService;
@GetMapping("/entrust-report-detail")
@Operation(summary = "委托单详情数据")
public CommonResult<?> reportDetail(@RequestParam("id") Long id) {
JSONObject jsonObject = sampleEntrustService.reportDetail(id);
return success(jsonObject);
}
@Operation(summary = "委托单详情数据")
@GetMapping("/crossAuditByTaskId")
public CommonResult<?> crossAuditByTaskId(Long businessAssayTaskId) {
JSONObject result = sampleAnalysisAuditService.getCrossAuditDataByTaskId(businessAssayTaskId);
return success(result);
}
}

View File

@@ -6,7 +6,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.service.SampleResultReportingService;
@@ -16,7 +20,6 @@ import jakarta.annotation.Resource;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -29,22 +32,27 @@ import org.springframework.web.bind.annotation.RequestBody;
@RestController
@RequestMapping("/qms/bus/sample/result-reporting")
@Validated
public class SampleResultReportingController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleResultReportingController implements BusinessControllerMarker {
@Resource
private SampleResultReportingService sampleResultReportingService;
//获取未上报的方法
@GetMapping("/getUnReportMethodGroupList")
public CommonResult<?> getUnReportMethodGroupList() {
List<BusinessSubParentSampleAssessmentGroupRespVO> list = sampleResultReportingService.getUnReportMethodGroupList();
public CommonResult<?> getUnReportMethodGroupList(BusinessSubParentSampleAssessmentGroupReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessSubParentSampleAssessmentGroupRespVO> list = sampleResultReportingService.getUnReportMethodGroupList(reqVO);
return success(list);
}
//获取方法对应的样品
@GetMapping("/getSampleResultReportingList")
public CommonResult<?> getSampleResultReportingList(Long configAssayMethodId) {
JSONObject result = sampleResultReportingService.getSampleResultReportingList(configAssayMethodId);
public CommonResult<?> getSampleResultReportingList(BusinessSubParentSampleAssessmentGroupReqVO reqVO) {
JSONObject result = sampleResultReportingService.getSampleResultReportingList(reqVO);
return success(result);
}

View File

@@ -9,16 +9,22 @@ import org.springframework.web.bind.annotation.RestController;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import java.util.Arrays;
import java.util.List;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam;
import com.zt.plat.module.qms.business.bus.service.SampleTaskAssignService;
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
@@ -27,7 +33,8 @@ import jakarta.annotation.Resource;
@RestController
@RequestMapping("/qms/bus/sample/task-assign")
@Validated
public class SampleTaskAssignController {
@DeptDataPermissionIgnore(enable = "true")
public class SampleTaskAssignController implements BusinessControllerMarker {
@Resource
private SampleTaskAssignService sampleTaskAssignService;
@@ -38,16 +45,35 @@ public class SampleTaskAssignController {
List<AdminUserRespDTO> list = sampleTaskAssignService.getAssignUserList();
return success(list);
}
@Operation(description = "根据用户id获取用户信息")
@GetMapping("/getUserInfoById")
public CommonResult<?> getUserInfoById(Long userId) {
AdminUserRespDTO userRespDTO = sampleTaskAssignService.getUserInfoById(userId);
return success(userRespDTO);
}
@GetMapping("/getAssaySampleList")
public CommonResult<?> getAssaySampleList() {
List<UnAssignTaskedSubSampleRespVO> list = sampleTaskAssignService.getAssaySampleList();
public CommonResult<?> getAssaySampleList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<UnAssignTaskedSubSampleRespVO> list = sampleTaskAssignService.getAssaySampleList(reqVO);
return success(list);
}
@GetMapping("/getAssayMethodList")
public CommonResult<?> getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId) {
List<Object> list = sampleTaskAssignService.getAssayMethodList(businessSubSampleId, configAssayMethodId);
@GetMapping("/getAssayMethodProjectList")
public CommonResult<?> getAssayMethodProjectList(String businessSubSampleIds, Long configAssayMethodId) {
List<Long> businessSubSampleIdList = Arrays.asList(businessSubSampleIds.split(",")).stream().map(Long::parseLong).toList();
List<AssayMethodProjectRespVO> list = sampleTaskAssignService.getAssayMethodProjectList(businessSubSampleIdList, configAssayMethodId);
return success(list);
}
@GetMapping("/getMaterialAssayStandardMethodProjectList")
public CommonResult<?> getMaterialAssayStandardMethodProjectList(String businessSubSampleIds, Long baseSampleId, Long configAssayMethodId) {
List<Long> businessSubSampleIdList = Arrays.asList(businessSubSampleIds.split(",")).stream().map(Long::parseLong).toList();
List<AssayMethodProjectRespVO> list = sampleTaskAssignService.getMaterialAssayStandardMethodProjectList(businessSubSampleIdList, baseSampleId, configAssayMethodId);
return success(list);
}
@@ -86,6 +112,12 @@ public class SampleTaskAssignController {
sampleTaskAssignService.createQcSample(req);
return success("成功");
}
@PostMapping("/deleteQcSample")
public CommonResult<?> deleteQcSample(@RequestBody DeleteQcSampleReqVO req) {
sampleTaskAssignService.deleteQcSample(req);
return success("成功");
}
@PostMapping("/submitAssign")
public CommonResult<?> submitAssign(Long id) {
@@ -93,6 +125,11 @@ public class SampleTaskAssignController {
return success("成功");
}
/**
* 作废
* @param id
* @return
*/
@PostMapping("/voidAssign")
public CommonResult<?> voidAssign(Long id) {
sampleTaskAssignService.voidAssign(id);

View File

@@ -0,0 +1,160 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson2.JSON;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.core.sampleflow.SampleFlowDefinition;
import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode;
@RestController
@RequestMapping("/qms/bus/test")
@DeptDataPermissionIgnore(enable = "true")
public class TestController {
@GetMapping("/testSampleFlow")
public CommonResult<?> testSampleFlow() {
SampleFlowDefinition sampleFlowDefinition = new SampleFlowDefinition();
sampleFlowDefinition.setFlowKey("flw_sub_sample_process");
sampleFlowDefinition.setFlowName("子样样品流转流程");
List<SampleFlowNode> flowNodeList = new ArrayList<>();
SampleFlowNode zxr = new SampleFlowNode();
zxr.setNodeName("中心收样");
zxr.setNodeKey("flw_center_receive");
zxr.setSort(3100);
SampleFlowNode zxs = new SampleFlowNode();
zxs.setNodeName("中心送样");
zxs.setNodeKey("flw_center_send");
zxs.setSort(3200);
SampleFlowNode bzr = new SampleFlowNode();
bzr.setNodeName("班组收样");
bzr.setNodeKey("flw_team_receive");
bzr.setSort(3300);
// SampleFlowNode ypbm = new SampleFlowNode();
// ypbm.setNodeName("样品编密");
// ypbm.setNodeKey("flw_sample_encrypt");
// ypbm.setSort(3400);
// SampleFlowNode fxr = new SampleFlowNode();
// fxr.setNodeName("分析收样");
// fxr.setNodeKey("flw_analysis_receive");
// fxr.setSort(3500);
//
// SampleFlowNode fx = new SampleFlowNode();
// fx.setNodeName("样品分析");
// fx.setNodeKey("flw_analysis");
// fx.setSort(3550);
//
// SampleFlowNode fxs = new SampleFlowNode();
// fxs.setNodeName("分析送样");
// fxs.setNodeKey("flw_analysis_send");
// fxs.setSort(3600);
SampleFlowNode bzs = new SampleFlowNode();
bzs.setNodeName("班组送样");
bzs.setNodeKey("flw_team_send");
bzs.setSort(3700);
SampleFlowNode ypgk = new SampleFlowNode();
ypgk.setNodeName("样品归库");
ypgk.setNodeKey("flw_sample_storage");
ypgk.setSort(3800);
ypgk.setNextFlowNodeList(null);
flowNodeList.add(ypgk);
zxr.setNextFlowNodeList(new ArrayList<SampleFlowNode>() {
private static final long serialVersionUID = 6146393613606839512L;
{
add(BeanUtils.toBean(zxs,SampleFlowNode.class).setIsDefault(true));
}
});
flowNodeList.add(zxr);
zxs.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = 5357543125760924047L;
{
add(BeanUtils.toBean(bzr,SampleFlowNode.class).setIsDefault(true));
}});
flowNodeList.add(zxs);
bzr.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = 6376704859477839016L;
{
add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true));//
// add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过
}});
flowNodeList.add(bzr);
// ypbm.setNextFlowNodeList(new ArrayList<>() {
// private static final long serialVersionUID = 1014984817516902869L;
//
// {
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true));
// }});
// flowNodeList.add(ypbm);
// fxr.setNextFlowNodeList(new ArrayList<>() {{
// add(BeanUtils.toBean(fxs,SampleFlowNode.class).setIsDefault(true));
// }});
// flowNodeList.add(fxr);
//
//
// fxs.setNextFlowNodeList(new ArrayList<>() {{
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完"));
// }});
// flowNodeList.add(fxs);
// fx.setNextFlowNodeList(new ArrayList<>() {
// private static final long serialVersionUID = -610440034210287957L;
//
// {
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完"));
// }});
// flowNodeList.add(fx);
bzs.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = -5057434004685743838L;
{
// add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("样品当前分析班组结果超差,需要发起复检"));
add(BeanUtils.toBean(bzr,SampleFlowNode.class).setCondition("subSampleSelfReportedOthersPending"));//当前部门数据已全部判断上报
add(BeanUtils.toBean(ypgk,SampleFlowNode.class).setCondition("subSampleAlldeptAnalyzed"));//当前样品所有分析任务已全部上报完
}});
flowNodeList.add(bzs);
sampleFlowDefinition.setFlowNodeList(flowNodeList);
String jsonSampleFlowDefinition = JSON.toJSONString(sampleFlowDefinition);
System.out.println(jsonSampleFlowDefinition);
return success(jsonSampleFlowDefinition);
}
}

View File

@@ -0,0 +1,30 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AssayMethodProjectRespVO {
private Long dictionaryProjectId;
private String dictionaryProjectName;
private String dictionaryProjectSimpleName;
private String dictionaryProjectShowName;
private String assayType;
private Long configAssayMethodId;
private String configAssayMethodName;
@Schema(description = "检测方法配置名称及类别")
private String configAssayMethodNameAndCategory;
private List<ConfigAssayMethodProjectExtendRespVO> methodList;
}

View File

@@ -1,13 +1,35 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
public class BatchAssessmentDataReportingReqVO {
private List<Long> businessSubSampleIds;
private List<BusinessSubSampleIdAndRetestCount> businessSubSampleIdAndRetestCounts;
public List<Long> getBusinessSubSampleIds() {
if (CollUtil.isEmpty(this.businessSubSampleIdAndRetestCounts)) {
return null;
}
return this.businessSubSampleIdAndRetestCounts.stream().map(m -> m.getBusinessSubSampleId()).collect(Collectors.toList());
}
private Long configAssayMethodId;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class BusinessSubSampleIdAndRetestCount {
private Long businessSubSampleId;
private Integer retestCount;
}
}

View File

@@ -1,13 +1,34 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
public class BatchResultDataReportingReqVO {
private List<Long> businessSubParentSampleIds;
private List<BusinessSubParentSampleIdAndRetestCount> businessSubParentSampleIdAndRetestCounts;
private Long configAssayMethodId;
public List<Long> getBusinessSubParentSampleIds() {
if (CollUtil.isEmpty(this.businessSubParentSampleIdAndRetestCounts)) {
return null;
}
return this.businessSubParentSampleIdAndRetestCounts.stream().map(m -> m.getBusinessSubParentSampleId()).collect(Collectors.toList());
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class BusinessSubParentSampleIdAndRetestCount {
private Long businessSubParentSampleId;
private Integer retestCount;
}
}

View File

@@ -62,7 +62,20 @@ public class BatchSampleAnalysisColumnRespVO implements Serializable {
@Schema(description = "单位")
private String unit;
/** 类型project元素parameter参数 **/
@Schema(description = "类型project元素parameter参数")
private String type;
@Schema(description = "填写方式")
private String fillingWay;
@Schema(description = "参数分组_ID")
private Long groupDictionaryBusinessId;
@Schema(description = "参数分组_Key")
private String groupDictionaryBusinessKey;
@Schema(description = "参数分组_Name")
private String groupDictionaryBusinessName;
}

View File

@@ -0,0 +1,12 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.Data;
@Data
public class BusinessAssayParameterDataExtendRespVO extends BusinessAssayParameterDataRespVO {
private String parameterName;
private String parameterKey;
}

View File

@@ -44,4 +44,7 @@ public class BusinessAssayParameterDataReqVO {
@Schema(description = "备注")
private String remark;
//===================扩展字段====================
@Schema(description = "检测项目业务ID列表")
private List<Long> businessAssayProjectDataIdList;
}

View File

@@ -16,6 +16,9 @@ public class BusinessAssayProjectAndParameterRespVO implements Serializable {
/** id主键 **/
private Long id;
/** 业务数据id 如T_BSN_ASY_PRJ_DAT表则为BSN_ASY_TSK_DAT_IDT_BSN_ASY_PRM_DAT表则为BSN_ASY_PRJ_DAT_ID **/
private Long bizId;
/** 元素或参数字典id **/
private Long dicId;
@@ -42,6 +45,10 @@ public class BusinessAssayProjectAndParameterRespVO implements Serializable {
/** 结果值 **/
@Schema(description = "结果值")
private String value;
/** 符号,=、>、<、等 **/
@Schema(description = "符号,=、>、<、等")
private String symbol;
@Schema(description = "是否允许为空")
private Integer isNull;
@@ -54,10 +61,19 @@ public class BusinessAssayProjectAndParameterRespVO implements Serializable {
@Schema(description = "元素或参数配置参数编号")
private Integer paramNo;
/** 类型(1元素2:参数) **/
@Schema(description = "类型project元素2:参数)")
/** 类型(project元素parameter:参数) **/
@Schema(description = "类型project元素parameter:参数)")
private String type;
@Schema(description = "填写方式")
private String fillingWay;
@Schema(description = "参数分组_ID")
private Long groupDictionaryBusinessId;
@Schema(description = "参数分组_Key")
private String groupDictionaryBusinessKey;
@Schema(description = "参数分组_Name")
private String groupDictionaryBusinessName;
}

View File

@@ -8,6 +8,9 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa
@Schema(description = "样品主样ID", example = "23293")
private Long businessBaseSampleId;
@Schema(description = "主样配置ID")
private Long configBaseSampleId;
@Schema(description = "样品分样ID", example = "15024")
private Long businessSubParentSampleId;
@@ -44,7 +47,10 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa
@Schema(description = "单位")
private String dictionaryProjectUnit;
@Schema(description = "分析次数")
private Integer analysisCount;
@Schema(description = "复检次数")
private Integer recheckCount;
@Schema(description = "复测次数")
private Integer retestCount;
}

View File

@@ -5,6 +5,8 @@ import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -31,6 +33,15 @@ public class BusinessAssayProjectDataPageReqVO extends PageParam {
@Schema(description = "")
private String value;
@Schema(description = "补正系数ID", example = "1008")
private Long configAssayMethodProjectCoefficientId;
@Schema(description = "补正系数")
private BigDecimal coefficient;
@Schema(description = "补正后的值")
private String valueAfter;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", example = "2")
private String dataType;
@@ -40,6 +51,9 @@ public class BusinessAssayProjectDataPageReqVO extends PageParam {
@Schema(description = "是否不参与超差判定")
private Integer isNotAssessment;
@Schema(description = "方法检出下限值")
private String minimumLimitValue;
@Schema(description = "是否启用")
private Integer isEnabled;

View File

@@ -5,6 +5,8 @@ import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -37,6 +39,15 @@ public class BusinessAssayProjectDataReqVO {
@Schema(description = "")
private String value;
@Schema(description = "补正系数ID", example = "1008")
private Long configAssayMethodProjectCoefficientId;
@Schema(description = "补正系数")
private BigDecimal coefficient;
@Schema(description = "补正后的值")
private String valueAfter;
@Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串int-整数decimal-小数,date-日期datetime-时间", example = "1")
private String dataType;
@@ -46,6 +57,9 @@ public class BusinessAssayProjectDataReqVO {
@Schema(description = "是否不参与超差判定")
private Integer isNotAssessment;
@Schema(description = "方法检出下限值")
private String minimumLimitValue;
@Schema(description = "是否启用")
private Integer isEnabled;
@@ -62,4 +76,8 @@ public class BusinessAssayProjectDataReqVO {
@Schema(description = "备注")
private String remark;
//========================扩展字段==================================
@Schema(description = "检测任务ID列表", example = "16505")
private List<Long> businessAssayTaskDataIdList;
}

View File

@@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@@ -38,6 +40,15 @@ public class BusinessAssayProjectDataRespVO {
@ExcelProperty("")
private String value;
@Schema(description = "补正系数ID", example = "1008")
private Long configAssayMethodProjectCoefficientId;
@Schema(description = "补正系数")
private BigDecimal coefficient;
@Schema(description = "补正后的值")
private String valueAfter;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间")
private String dataType;
@@ -50,6 +61,9 @@ public class BusinessAssayProjectDataRespVO {
@ExcelProperty("是否不参与超差判定")
private Integer isNotAssessment;
@Schema(description = "方法检出下限值")
private String minimumLimitValue;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否启用")
private Integer isEnabled;

View File

@@ -2,6 +2,8 @@ package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import jakarta.validation.constraints.*;
@@ -27,6 +29,15 @@ public class BusinessAssayProjectDataSaveReqVO {
@Schema(description = "")
private String value;
@Schema(description = "补正系数ID", example = "1008")
private Long configAssayMethodProjectCoefficientId;
@Schema(description = "补正系数")
private BigDecimal coefficient;
@Schema(description = "补正后的值")
private String valueAfter;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间不能为空")
private String dataType;
@@ -38,6 +49,9 @@ public class BusinessAssayProjectDataSaveReqVO {
@NotNull(message = "是否不参与超差判定不能为空")
private Integer isNotAssessment;
@Schema(description = "方法检出下限值")
private String minimumLimitValue;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "是否启用不能为空")
private Integer isEnabled;

View File

@@ -0,0 +1,70 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.time.LocalDateTime;
import java.util.List;
import com.zt.plat.module.qms.business.config.controller.vo.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 分配任务单 分析样品及质控样品检测项目
*/
@Data
public class BusinessAssayTaskAnalysisSampleAndQcProjectRespVO {
/** 分配任务单id **/
private Long businessAssayTaskId;
/** 任务分配单编号 **/
private String businessAssayTasNo;
/** 任务分配单名称 **/
private String businessAssayTasName;
/** 分析人员 **/
private String assayOperator;
/** 分析时间 **/
private LocalDateTime assayTime;
/** 检测方法id **/
private Long configAssayMethodId;
/** 检测方法名称 **/
private String configAssayMethodName;
/** 数据集key **/
private String dataCollectionKey;
/** 数据集id **/
private Long dataCollectionId;
/** 动态表单值 **/
private String formValue;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料方式,初始状态-initial、自动配料-automatic、人工配料-manual")
private String ingredientsWay;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
/** 质量控制分析方法 **/
//private List<ConfigQCSampleMethodExtendRespVO> configQCSampleMethodList;
/** 分配任务的分析数据 **/
private List<BusinessAssayTaskAnalysisDataRespVO> assayTaskAnalysisDataList;
/** 检测方法分析项目补正系数 **/
private List<ConfigAssayMethodProjectCoefficientRespVO> configAssayMethodProjectCoefficientList;
/** 检测方法范围 **/
private List<ConfigAssayMethodProjectRangeRespVO> configAssayMethodProjectRangeList;
}

View File

@@ -4,7 +4,10 @@ import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectCoefficientRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -42,12 +45,21 @@ public class BusinessAssayTaskAnalysisSampleProjectRespVO {
/** 动态表单值 **/
private String formValue;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
/** 分析的列 **/
private List<BatchSampleAnalysisColumnRespVO> columns;
/** 分析的数据 **/
private List<Map<String, Object>> datas;
/** 检测方法分析项目补正系数 **/
private List<ConfigAssayMethodProjectCoefficientRespVO> configAssayMethodProjectCoefficientList;
/** 检测方法范围 **/
private List<ConfigAssayMethodProjectRangeRespVO> configAssayMethodProjectRangeList;

View File

@@ -0,0 +1,20 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List;
import lombok.Data;
@Data
public class BusinessAssayTaskBackSampleReqVO {
/**
* 任务明细id
*/
private List<Long> idList;
/**
* 退回描述
*/
private String backDesc;
}

View File

@@ -17,6 +17,15 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
/** 分析方法名称 **/
@Schema(description = "分析方法名称")
private String configAssayMethodName;
@Schema(description = "检测方法配置名称及类别")
private String configAssayMethodNameAndCategory;
@Schema(description = "主样配置id")
private Long configBaseSampleId;
@Schema(description = "子样配置id")
private Long configSubSampleId;
@Schema(description = "样品名称")
private String sampleName;
@@ -26,4 +35,16 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
@Schema(description = "分析编号")
private String sampleAssayCode;
@Schema(description = "任务单模板key")
private String configReportTemplateKey;
private Integer asmtIsReported;
private Integer asmtIsRecheck;
private String asmtReportedStatus;
@Schema(description = "配料信息")
private String ingredientInfo;
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
public class BusinessAssayTaskDataExternalInfomation implements Serializable {
private static final long serialVersionUID = 2740738762124170770L;
/** 是否退回 **/
private Integer isRollback;
/** 回退详情 **/
private List<RollbackDetail> rollbackDetailList;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class RollbackDetail {
/**
* 退回人ID
*/
private Long rollbackOperId;
/**
* 退回人
*/
private String rollbackOper;
/**
* 退回原因
*/
private String rollbackReason;
/**
* 退回时间 yyyy-MM-dd HH:mm:ss
*/
private String rollbackTime;
}
}

View File

@@ -5,12 +5,33 @@ import lombok.Data;
@Data
public class BusinessAssayTaskDataGroupRespVO {
/** 方法id **/
private Long configAssayMethodId;
/** 方法名称 **/
private String configAssayMethodName;
private String configAssayMethodDictionaryBusinessKey;
/** 方法名称及类别 **/
private String configAssayMethodNameAndCategory;
private String assayType;
private Integer sampleTaskCount;
/** 判定未完 **/
private Integer asmtInitialCount;
/** 判定待上报 **/
private Integer asmtPendingReportCount;
/** 判定待判定 **/
private Integer asmtPendingAssessmentCount;
/** 判定复测 **/
private Integer asmtReInspectedCount;
/** 判定已上报 **/
private Integer asmtReportedCount;
}

View File

@@ -22,6 +22,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "分样子样ID", example = "20464")
private Long businessSubSampleId;
@Schema(description = "分样子样判定ID", example = "14560")
private Long businessSubSampleAssessmentId;
@Schema(description = "检测方法配置ID", example = "9130")
private Long configAssayMethodId;
@@ -46,6 +49,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人ID", example = "27835")
private Long assayOperatorId;
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +65,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报人ID", example = "15920")
private Long reporterId;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@@ -73,8 +82,14 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleFlowNodeTime;
@Schema(description = "分析次数,复检的累加次数", example = "13073")
private Integer analysisCount;
@Schema(description = "复检次数", example = "7312")
private Integer recheckCount;
@Schema(description = "复测次数", example = "28081")
private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", example = "11435")
private Integer updateCount;
@@ -89,4 +104,8 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
//===================================扩展字段===============================================
@Schema(description = "样品状态")
private String sampleStatus;
}

View File

@@ -1,9 +1,7 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@@ -22,6 +20,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "分样子样ID", example = "20464")
private Long businessSubSampleId;
@Schema(description = "分样子样判定ID", example = "14560")
private Long businessSubSampleAssessmentId;
@Schema(description = "检测方法配置ID", example = "9130")
private Long configAssayMethodId;
@@ -46,6 +47,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人ID", example = "27835")
private Long assayOperatorId;
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +63,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报人ID", example = "15920")
private Long reporterId;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@@ -73,8 +80,14 @@ public class BusinessAssayTaskDataReqVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleFlowNodeTime;
@Schema(description = "分析次数,复检的累加次数", example = "13073")
private Integer analysisCount;
@Schema(description = "复检次数", example = "7312")
private Integer recheckCount;
@Schema(description = "复测次数", example = "28081")
private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", example = "11435")
private Integer updateCount;
@@ -88,5 +101,33 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "备注")
private String remark;
//=== 扩展字段,判定上报状态
@Schema(description = "判定上报状态")
private String asmtReportedStatus;
@Schema(description = "样品状态")
private String sampleStatus;
@Schema(description = "检测方法配置名称")
private String configAssayMethodName;
@Schema(description = "检测方法配置名称及类别")
private String configAssayMethodNameAndCategory;
@Schema(description = "收样时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleReceiveTime;
@Schema(description = "样品编号")
private String sampleCode;
@Schema(description = "样品名称")
private String sampleName;
@Schema(description = "分析编号")
private String sampleAssayCode;
@Schema(description = "归库编号")
private String sampleReturnCode;
}

View File

@@ -28,6 +28,9 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("分样子样ID")
private Long businessSubSampleId;
@Schema(description = "分样子样判定ID", example = "14560")
private Long businessSubSampleAssessmentId;
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130")
@ExcelProperty("检测方法配置ID")
private Long configAssayMethodId;
@@ -60,6 +63,10 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("分析人")
private String assayOperator;
@Schema(description = "分析人ID", example = "27835")
@ExcelProperty("分析人ID")
private Long assayOperatorId;
@Schema(description = "分配任务时间")
@ExcelProperty("分配任务时间")
private LocalDateTime assignTaskTime;
@@ -76,6 +83,10 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("上报人")
private String reporter;
@Schema(description = "上报人ID", example = "15920")
@ExcelProperty("上报人ID")
private Long reporterId;
@Schema(description = "上报时间")
@ExcelProperty("上报时间")
private LocalDateTime reportTime;
@@ -92,9 +103,16 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("样品流程节点时间")
private LocalDateTime sampleFlowNodeTime;
@Schema(description = "分析次数,复检的累加次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "13073")
@ExcelProperty("分析次数,复检的累加次数")
private Integer analysisCount;
@Schema(description = "复检次数", example = "7312")
@ExcelProperty("复测次数")
private Integer recheckCount;
@Schema(description = "复测次数", example = "28081")
@ExcelProperty("复测次数")
private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435")
@ExcelProperty("乐观锁")

View File

@@ -2,9 +2,7 @@ package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 子样检测任务业务新增/修改 Request VO")
@@ -26,6 +24,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@NotNull(message = "分样子样ID不能为空")
private Long businessSubSampleId;
@Schema(description = "分样子样判定ID", example = "14560")
private Long businessSubSampleAssessmentId;
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130")
@NotNull(message = "检测方法配置ID不能为空")
private Long configAssayMethodId;
@@ -56,6 +57,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人ID", example = "27835")
private Long assayOperatorId;
@Schema(description = "分配任务时间")
private LocalDateTime assignTaskTime;
@@ -68,6 +72,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报人ID", example = "15920")
private Long reporterId;
@Schema(description = "上报时间")
private LocalDateTime reportTime;
@@ -83,9 +90,14 @@ public class BusinessAssayTaskDataSaveReqVO {
@NotNull(message = "样品流程节点时间不能为空")
private LocalDateTime sampleFlowNodeTime;
@Schema(description = "分析次数,复检的累加次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "13073")
@NotNull(message = "分析次数,复检的累加次数不能为空")
private Integer analysisCount;
@Schema(description = "复检次数", example = "7312")
private Integer recheckCount;
@Schema(description = "复测次数", example = "28081")
private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435")
private Integer updateCount;

View File

@@ -1,17 +1,41 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
/**
* <b>BusinessAssayTaskDetailExtendRespVO</b>
* <p>
* 更新历史:
* <pre> 版本 更新时间 更新者 更新内容<hr/>
* V1.0 2025年10月17日 wxr Add</pre>
* <b>Copyright (C) 云南志者竟成科技有限公司</b>
* </p>
* @author 王兴荣<wxr@wangxingrong.com>
* @version V1.0
* @since 2025年10月17日
*/
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class BusinessAssayTaskDetailExtendRespVO extends BusinessAssayTaskDetailRespVO {
@Schema(description = "分析编号")
private String sampleAssayCode;
@Schema(description = "样品主样ID", example = "23293")
private Long businessBaseSampleId;
@Schema(description = "样品分样ID", example = "15024")
private Long businessSubParentSampleId;
@Schema(description = "分样子样ID", example = "20464")
private Long businessSubSampleId;
@Schema(description = "检测方法配置ID", example = "9130")
private Long configAssayMethodId;
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
private String taskType;
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "2")
private String assayType;
@Schema(description = "检测项目")
private String assayProject;
@Schema(description = "分析部门ID", example = "16988")
private Long assayDepartmentId;
@Schema(description = "分析部门名称", example = "芋艿")
private String assayDepartmentName;
@Schema(description = "分析人")
private String assayOperator;
}

View File

@@ -4,6 +4,7 @@ import java.util.List;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -20,10 +21,16 @@ import lombok.Data;
*/
@Data
public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO {
/** 任务单数据类型,横向horizontal纵向vertical **/
private String reportDataType;
/** 分析方法名称 **/
private String configAssayMethodName;
@Schema(description = "检测方法配置名称及类别")
private String configAssayMethodNameAndCategory;
/** 分析方法对应的分析项目 **/
private String configAssayMethodProjectShowNames;

View File

@@ -34,6 +34,9 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "任务单分配人")
private String taskAssignOperator;
@Schema(description = "任务单分配人ID", example = "14545")
private Long taskAssignOperatorId;
@Schema(description = "任务单分配时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignTime;
@@ -45,9 +48,21 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignSubmitTime;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料方式,初始状态-initial、自动配料-automatic、人工配料-manual")
private String ingredientsWay;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人", example = "17685")
private Long assayOperatorId;
@Schema(description = "分析时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assayTime;
@@ -69,26 +84,13 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reportOperator;
@Schema(description = "上报人ID", example = "7393")
private Long reportOperatorId;
@Schema(description = "任务单完成时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskFinishTime;
@Schema(description = "标样业务ID", example = "27168")
private Long standardSampleId;
@Schema(description = "标样编号")
private String standardSampleCode;
@Schema(description = "标准样类型ID", example = "11282")
private Long standardSampleTypeId;
@Schema(description = "质控样编号")
private String qualitySampleCode;
@Schema(description = "质控样分析时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] qualitySampleAssayTime;
@Schema(description = "流程实例id", example = "19026")
private Long flowInstanceId;
@@ -101,10 +103,10 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "签名信息")
private String documentSignature;
@Schema(description = "完成状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "2")
@Schema(description = "完成状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "2")
private String finishStatus;
@Schema(description = "流程状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "1")
@Schema(description = "流程状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "1")
private String flowStatus;
@Schema(description = "所属部门")
@@ -117,4 +119,18 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
@Schema(description = "不等于当前分析人")
private String neAssayOperator;
@Schema(description = "部门id")
private Long deptId;
//=========扩展字段==========
/** 分析方法名称 **/
@Schema(description = "分析方法")
private String configAssayMethodName;
@Schema(description = "检测方法配置名称及类别")
private String configAssayMethodNameAndCategory;
}

View File

@@ -0,0 +1,30 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class BusinessAssayTaskParameterDataExtendRespVO extends BusinessAssayTaskParameterDataRespVO {
@Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29823")
@ExcelProperty("检测方法ID")
private Long configAssayMethodId;
@Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("参数名称")
private String parameterName;
@Schema(description = "参数简称", example = "张三")
@ExcelProperty("参数简称")
private String shortName;
@Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("参数序号")
private Integer no;
@Schema(description = "键值")
@ExcelProperty("键值")
private String key;
}

View File

@@ -0,0 +1,44 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 子样检测任务参数业务分页 Request VO")
@Data
public class BusinessAssayTaskParameterDataPageReqVO extends PageParam {
@Schema(description = "检测任务ID", example = "11383")
private Long businessAssayTaskDataId;
@Schema(description = "检测方法参数配置ID", example = "9000")
private Long configAssayMethodParameterId;
@Schema(description = "")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", example = "1")
private String dataType;
@Schema(description = "小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", example = "3750")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,55 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 子样检测任务参数业务 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BusinessAssayTaskParameterDataRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2727")
@ExcelProperty("ID")
private Long id;
@Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11383")
@ExcelProperty("检测任务ID")
private Long businessAssayTaskDataId;
@Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9000")
@ExcelProperty("检测方法参数配置ID")
private Long configAssayMethodParameterId;
@Schema(description = "")
@ExcelProperty("")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间")
private String dataType;
@Schema(description = "小数位")
@ExcelProperty("小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "3750")
@ExcelProperty("乐观锁")
private Integer updateCount;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,43 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 子样检测任务参数业务新增/修改 Request VO")
@Data
public class BusinessAssayTaskParameterDataSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2727")
private Long id;
@Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11383")
@NotNull(message = "检测任务ID不能为空")
private Long businessAssayTaskDataId;
@Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9000")
@NotNull(message = "检测方法参数配置ID不能为空")
private Long configAssayMethodParameterId;
@Schema(description = "")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间不能为空")
private String dataType;
@Schema(description = "小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "3750")
@NotNull(message = "乐观锁不能为空")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,121 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 检测任务分配业务分页 Request VO")
@Data
public class BusinessAssayTaskReqVO {
@Schema(description = "指派编号")
private String taskNo;
@Schema(description = "指派单名称", example = "张三")
private String taskName;
@Schema(description = "检测方法配置ID", example = "13609")
private Long configAssayMethodId;
@Schema(description = "任务单模板ID", example = "4389")
private Long configReportTemplateId;
@Schema(description = "任务单模板key")
private String configReportTemplateKey;
@Schema(description = "任务单来源,分配-task_assign、领取-task_claim", example = "1")
private String taskSourceType;
@Schema(description = "任务单分配人")
private String taskAssignOperator;
@Schema(description = "任务单分配人ID", example = "14545")
private Long taskAssignOperatorId;
@Schema(description = "任务单分配时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignTime;
@Schema(description = "任务单分配状态,进行中-in_progress、已提交-submitted、作废-void", example = "2")
private String taskAssignStatus;
@Schema(description = "任务单分配提交时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignSubmitTime;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料方式,初始状态-initial、自动配料-automatic、人工配料-manual")
private String ingredientsWay;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人", example = "17685")
private Long assayOperatorId;
@Schema(description = "分析时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assayTime;
@Schema(description = "分析提交时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assaySubmitTime;
@Schema(description = "任务单分析状态,未开始-not_start、已保存- saved、 已提交-submitted", example = "1")
private String taskAssayStatus;
@Schema(description = "分析状态列表")
private List<String> taskAssayStatusList;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@Schema(description = "上报人")
private String reportOperator;
@Schema(description = "上报人ID", example = "7393")
private Long reportOperatorId;
@Schema(description = "任务单完成时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskFinishTime;
@Schema(description = "流程实例id", example = "19026")
private Long flowInstanceId;
@Schema(description = "顶部字段数据集ID,T_DAT_COLT_FLD", example = "9742")
private Long formDataCollectionId;
@Schema(description = "顶部字段值")
private String formValue;
@Schema(description = "签名信息")
private String documentSignature;
@Schema(description = "完成状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "2")
private String finishStatus;
@Schema(description = "流程状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "1")
private String flowStatus;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
@Schema(description = "管理后台 - 检测任务分配业务 Response VO")
@Data
@@ -42,6 +43,10 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("任务单分配人")
private String taskAssignOperator;
@Schema(description = "任务单分配人ID", example = "14545")
@ExcelProperty("任务单分配人ID")
private Long taskAssignOperatorId;
@Schema(description = "任务单分配时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("任务单分配时间")
private LocalDateTime taskAssignTime;
@@ -54,10 +59,23 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("任务单分配提交时间")
private LocalDateTime taskAssignSubmitTime;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料方式,初始状态-initial、自动配料-automatic、人工配料-manual")
private String ingredientsWay;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
@Schema(description = "分析人")
@ExcelProperty("分析人")
private String assayOperator;
@Schema(description = "分析人", example = "17685")
@ExcelProperty("分析人")
private Long assayOperatorId;
@Schema(description = "分析时间")
@ExcelProperty("分析时间")
private LocalDateTime assayTime;
@@ -78,30 +96,14 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("上报人")
private String reportOperator;
@Schema(description = "上报人ID", example = "7393")
@ExcelProperty("上报人ID")
private Long reportOperatorId;
@Schema(description = "任务单完成时间")
@ExcelProperty("任务单完成时间")
private LocalDateTime taskFinishTime;
@Schema(description = "标样业务ID", example = "27168")
@ExcelProperty("标样业务ID")
private Long standardSampleId;
@Schema(description = "标样编号")
@ExcelProperty("标样编号")
private String standardSampleCode;
@Schema(description = "标准样类型ID", example = "11282")
@ExcelProperty("标准样类型ID")
private Long standardSampleTypeId;
@Schema(description = "质控样编号")
@ExcelProperty("质控样编号")
private String qualitySampleCode;
@Schema(description = "质控样分析时间")
@ExcelProperty("质控样分析时间")
private LocalDateTime qualitySampleAssayTime;
@Schema(description = "流程实例id", example = "19026")
@ExcelProperty("流程实例id")
private Long flowInstanceId;
@@ -118,12 +120,13 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("签名信息")
private String documentSignature;
@Schema(description = "完成状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "2")
@ExcelProperty("完成状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved")
@Schema(description = "完成状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "2")
@ExcelProperty("完成状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed")
private String finishStatus;
@Schema(description = "流程状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "1")
@ExcelProperty("流程状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved")
@Dict(dicCode = "flow_status")
@Schema(description = "流程状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "1")
@ExcelProperty("流程状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed")
private String flowStatus;
@Schema(description = "所属部门")

View File

@@ -40,9 +40,11 @@ public class BusinessAssayTaskSaveReqVO {
private String taskSourceType;
@Schema(description = "任务单分配人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "任务单分配人不能为空")
private String taskAssignOperator;
@Schema(description = "任务单分配人ID", example = "14545")
private Long taskAssignOperatorId;
@Schema(description = "任务单分配时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "任务单分配时间不能为空")
private LocalDateTime taskAssignTime;
@@ -55,9 +57,21 @@ public class BusinessAssayTaskSaveReqVO {
@ExcelProperty("任务单分配提交时间")
private LocalDateTime taskAssignSubmitTime;
@Schema(description = "是否配料,1-是0-否")
private Integer isIngredients;
@Schema(description = "配料方式,初始状态-initial、自动配料-automatic、人工配料-manual")
private String ingredientsWay;
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
private String ingredientsStatus;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人", example = "17685")
private Long assayOperatorId;
@Schema(description = "分析时间")
private LocalDateTime assayTime;
@@ -73,24 +87,12 @@ public class BusinessAssayTaskSaveReqVO {
@Schema(description = "上报人")
private String reportOperator;
@Schema(description = "上报人ID", example = "7393")
private Long reportOperatorId;
@Schema(description = "任务单完成时间")
private LocalDateTime taskFinishTime;
@Schema(description = "标样业务ID", example = "27168")
private Long standardSampleId;
@Schema(description = "标样编号")
private String standardSampleCode;
@Schema(description = "标准样类型ID", example = "11282")
private Long standardSampleTypeId;
@Schema(description = "质控样编号")
private String qualitySampleCode;
@Schema(description = "质控样分析时间")
private LocalDateTime qualitySampleAssayTime;
@Schema(description = "流程实例id", example = "19026")
private Long flowInstanceId;
@@ -103,10 +105,10 @@ public class BusinessAssayTaskSaveReqVO {
@Schema(description = "签名信息")
private String documentSignature;
@Schema(description = "完成状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "2")
@Schema(description = "完成状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "2")
private String finishStatus;
@Schema(description = "流程状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "1")
@Schema(description = "流程状态,未开始-not_start、审核中-in_progress、已退回-returned、已通过-completed", example = "1")
private String flowStatus;
@Schema(description = "所属部门")

View File

@@ -64,4 +64,16 @@ public class BusinessHandoverRecordSubPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
//==============扩展字段================
private Long deptId;
@Schema(description = "分析编号")
private String sampleAssayCode;
@Schema(description = "归库编号")
private String sampleReturnCode;
@Schema(description = "样品名称")
private String sampleName;
}

View File

@@ -20,7 +20,7 @@ public class BusinessHandoverRecordSubSaveReqVO {
private Long businessSubSampleId;
@Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9154")
@NotNull(message = "样品流程配置ID不能为空")
// @NotNull(message = "样品流程配置ID不能为空")
private Long configSampleFlowId;
@Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -50,11 +50,11 @@ public class BusinessHandoverRecordSubSaveReqVO {
private Long operatorId;
@Schema(description = "送样人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "送样人不能为空")
// @NotEmpty(message = "送样人不能为空")
private String sendSampleOperator;
@Schema(description = "收样人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "收样人不能为空")
// @NotEmpty(message = "收样人不能为空")
private String receiveSampleOperator;
@Schema(description = "上一个交接记录ID", example = "5605")

View File

@@ -0,0 +1,16 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.Data;
@Data
public class BusinessQCCoefficientDataExtendRespVO extends BusinessQCCoefficientDataRespVO {
private String dictionaryBusinessName;
private String parentDictionaryBusinessId;
private String parentDictionaryBusinessName;
private String parentDictionaryBusinesskey;
}

View File

@@ -0,0 +1,85 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 质控样检测系数任务数据,空白样、标样分页 Request VO")
@Data
public class BusinessQCCoefficientDataPageReqVO extends PageParam {
@Schema(description = "样品编号")
private String sampleCode;
@Schema(description = "样品名称", example = "赵六")
private String sampleName;
@Schema(description = "检测方法配置ID", example = "31198")
private Long configAssayMethodId;
@Schema(description = "指派单ID", example = "28147")
private Long businessAssayTaskId;
@Schema(description = "定值样业务ID", example = "5300")
private Long businessStandardSampleId;
@Schema(description = "质控类型_ID,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样", example = "21660")
private Long dictionaryBusinessId;
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey;
@Schema(description = "检测项目")
private String assayProject;
@Schema(description = "分析部门ID", example = "12186")
private Long assayDepartmentId;
@Schema(description = "分析部门名称", example = "芋艿")
private String assayDepartmentName;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分析人ID", example = "10644")
private Long assayOperatorId;
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@Schema(description = "是否已分配任务")
private Integer isAssignTasked;
@Schema(description = "是否已上报")
private Integer isReported;
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报人ID", example = "2683")
private Long reporterId;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@Schema(description = "乐观锁", example = "6160")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

Some files were not shown because too many files have changed in this diff Show More