Compare commits
166 Commits
da9db180ca
...
test
| Author | SHA1 | Date | |
|---|---|---|---|
| dd6df68061 | |||
|
|
468e939ab1 | ||
|
|
90b0aa5202 | ||
|
|
33543e5330 | ||
|
|
6a3d585802 | ||
|
|
9eec0bb05e | ||
|
|
8fd750a82f | ||
|
|
2790ed7ea1 | ||
|
|
9f4369bcb2 | ||
|
|
920292cfac | ||
|
|
1187038ba8 | ||
|
|
e2678fe7b4 | ||
|
|
c1b975cca0 | ||
|
|
b7f30012c8 | ||
|
|
000cfca842 | ||
| 6b006513af | |||
|
|
f2571944c1 | ||
|
|
8e3994b6a8 | ||
|
|
c7f3bc0a46 | ||
| 54bc4b8b37 | |||
|
|
d0ee704939 | ||
|
|
9cf4af15c2 | ||
|
|
ac308f30a2 | ||
|
|
60b2761b2c | ||
|
|
a17621b0dd | ||
| 9ec70c1721 | |||
|
|
3a5f6994a7 | ||
|
|
b355668284 | ||
| 8d75bc0765 | |||
| 0b44562b58 | |||
| 90a1dfbd37 | |||
| 61d91d29b0 | |||
|
|
d84f1adf65 | ||
|
|
4b9d27e8fc | ||
| d41f69cc51 | |||
| 15621a9a56 | |||
|
|
06be110e5d | ||
|
|
ae0f0d79c5 | ||
| 93cf620376 | |||
| be89a965d8 | |||
|
|
8fa69a0906 | ||
|
|
3bb70a94f2 | ||
| 433ac9124b | |||
| 3285e6050a | |||
|
|
c68c7cfbf2 | ||
| 04596350b6 | |||
|
|
927731c217 | ||
| 2b60bd7c7b | |||
|
|
9a2b45e29c | ||
| 7c7e7b4761 | |||
|
|
39d720c1df | ||
|
|
d6fc03b199 | ||
|
|
04ac449897 | ||
|
|
eff36758c2 | ||
|
|
cb50244685 | ||
|
|
246e6391b8 | ||
| 4c129dee4e | |||
| 63fc44a7d1 | |||
| 9a4e50b081 | |||
|
|
7f1c4dd8c4 | ||
| 7a03bc6293 | |||
| 171de4c8d4 | |||
|
|
60bc01201b | ||
|
|
8fdeb65895 | ||
|
|
41b4e53db1 | ||
| 600e8bcd92 | |||
| 353a6dcb3e | |||
| ab505189f3 | |||
| 3b306b4137 | |||
| 9b99e41676 | |||
|
|
1dbbeba233 | ||
|
|
b92d61648f | ||
| b85eb7ea91 | |||
| 76069855ec | |||
| ea948a70bc | |||
| e133ec82c8 | |||
| be75cb4cf9 | |||
| b320d36181 | |||
|
|
172f04a260 | ||
| 821ce6a7cf | |||
|
|
c7fe2db73c | ||
| 984ae17431 | |||
| 4fd689c530 | |||
|
|
2c377a76ec | ||
|
|
2f71bc7fb1 | ||
| 30ce46ce4d | |||
|
|
d25658f202 | ||
|
|
8aa329d989 | ||
|
|
a3a31d8600 | ||
| daafd3ae37 | |||
| 91df898e09 | |||
|
|
baa7884fd7 | ||
|
|
c522cf5f8f | ||
|
|
46aa2c9692 | ||
|
|
411983986f | ||
|
|
94757f31de | ||
|
|
42afe2adb3 | ||
|
|
5657f8cf09 | ||
| a49bee0abd | |||
| d0673f36b1 | |||
|
|
eaea741480 | ||
|
|
44a6e11803 | ||
| cc79a15a16 | |||
| 1e82c22284 | |||
| c2d067e47c | |||
| 92ec9454ba | |||
|
|
57041e4adc | ||
|
|
a8580e1e30 | ||
|
|
82934c153d | ||
| 87fbd54692 | |||
| 918f8465a9 | |||
| 5ef620fa9a | |||
| 2b45f932dc | |||
| 6ca60e94cd | |||
| 8b3bfe2083 | |||
|
|
9037a27cb8 | ||
|
|
a26327d4e7 | ||
|
|
3028d478fe | ||
| c6c44828e0 | |||
| 1f8aebf598 | |||
| caba1edf4c | |||
|
|
3c70d53533 | ||
|
|
d814fae16d | ||
|
|
0e07b41c22 | ||
|
|
e6113058c0 | ||
| 5ec35399de | |||
|
|
49b6f956ff | ||
|
|
d80d5da026 | ||
|
|
c3f891095f | ||
|
|
ac2295cac9 | ||
|
|
36289be12b | ||
| c858ecf8b4 | |||
| 18e4245eff | |||
| 376902462b | |||
|
|
c80aeece47 | ||
|
|
12cd5a4d94 | ||
| 524ea2687f | |||
| 24a6e95f26 | |||
| dddf21c94f | |||
| 6e3e604fca | |||
|
|
4394c4ecf8 | ||
|
|
e0f6d288b1 | ||
| 6e0886ca5b | |||
| c79590d36e | |||
| 6e39ca51c5 | |||
| 0c13b35433 | |||
| 398fd2d303 | |||
| d7554b49dc | |||
| d9d63ab587 | |||
|
|
3afd68cbfe | ||
|
|
174f720f65 | ||
| f2fe7455ed | |||
| 3129b88a21 | |||
| 95b7b6e011 | |||
|
|
52ab580346 | ||
|
|
3e40ed2e61 | ||
|
|
4897329644 | ||
|
|
498dd4cd8d | ||
|
|
b0c4a773af | ||
|
|
1dc0671cf0 | ||
|
|
b629e0358a | ||
|
|
5b32ff274f | ||
|
|
11cb3426d4 | ||
|
|
f9740ed667 | ||
|
|
ba4b7239ac | ||
|
|
e80a5437df |
@@ -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
|
||||
|
||||
158
doc/中铜技术文档/Seata分布式事务集成参考.md
Normal file
158
doc/中铜技术文档/Seata分布式事务集成参考.md
Normal 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
|
||||
1191
doc/中铜技术文档/iWork集成说明.md
Normal file
1191
doc/中铜技术文档/iWork集成说明.md
Normal file
File diff suppressed because it is too large
Load Diff
212
doc/中铜技术文档/计量单位转换使用文档.md
Normal file
212
doc/中铜技术文档/计量单位转换使用文档.md
Normal 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。
|
||||
|
||||
21
pom.xml
21
pom.xml
@@ -17,7 +17,7 @@
|
||||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||||
|
||||
<properties>
|
||||
<revision>3.0.42</revision>
|
||||
<revision>3.0.45</revision>
|
||||
<!-- Maven 相关 -->
|
||||
<java.version>17</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
@@ -145,8 +145,13 @@
|
||||
<name>中铜 ZStack 私服</name>
|
||||
<url>http://172.16.46.63:30708/repository/test/</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<checksumPolicy>warn</checksumPolicy>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
@@ -172,8 +177,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 +190,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 +203,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>
|
||||
|
||||
@@ -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
|
||||
|
||||
11
qms-server/build-docker-push.bat
Normal file
11
qms-server/build-docker-push.bat
Normal 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
|
||||
@@ -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的自定义线程池Builder,LiteFlow提供了默认的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
|
||||
#全局异步节点线程池自定义Builder,LiteFlow提供了默认的线程池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 # 数据库索引
|
||||
@@ -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的自定义线程池Builder,LiteFlow提供了默认的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
|
||||
#全局异步节点线程池自定义Builder,LiteFlow提供了默认的线程池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 # 数据库索引
|
||||
@@ -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
|
||||
|
||||
@@ -54,6 +54,7 @@ public interface ErrorCodeConstants {
|
||||
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 +62,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, "检测标准明细不存在");
|
||||
@@ -83,6 +88,7 @@ public interface ErrorCodeConstants {
|
||||
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, "委检登记业务不存在");
|
||||
@@ -97,7 +103,8 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode BUSINESS_ASSAY_TASK_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, "检测任务分配业务不存在");
|
||||
@@ -111,6 +118,7 @@ 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, "分样复检业务数据不存在");
|
||||
|
||||
@@ -123,6 +131,8 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode BUSINESS_QC_MANAGEMENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在");
|
||||
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, "荧光采集记录不存在");
|
||||
|
||||
|
||||
//检测报告
|
||||
@@ -130,6 +140,7 @@ public interface ErrorCodeConstants {
|
||||
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, "样品调拨明细不存在");
|
||||
@@ -141,12 +152,38 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode MATERIAL_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_150_000, "试剂耗材大类不存在");
|
||||
|
||||
|
||||
ErrorCode MATERIAL_LIFECYCLE_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "物料通用流程明细不存在");
|
||||
ErrorCode MATERIAL_LIFECYCLE_NOT_EXISTS = new ErrorCode(1_032_150_000, "物料通用流程不存在");
|
||||
|
||||
ErrorCode MATERIAL_BATCH_NOT_EXISTS = new ErrorCode(1_032_150_000, "物料批次不存在");
|
||||
ErrorCode MATERIAL_BATCH_ASSIGN_NOT_EXISTS = new ErrorCode(1_032_150_000, "物料批次分发不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_INBOUND_NOT_EXISTS = new ErrorCode(1_032_150_000, "入库,出库不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_INBOUND_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "入库明细,出库明细等不存在");
|
||||
|
||||
ErrorCode SYSTEM_VERSION_MANAGEMENT_NOT_EXISTS = new ErrorCode(1_032_150_000, "客户端版本管理不存在");
|
||||
|
||||
ErrorCode MATERIAL_LOCATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "存放位置不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_CHECK_NOT_EXISTS = new ErrorCode(1_032_150_000, "库存盘点不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_CHECK_BATCH_NOT_EXISTS = new ErrorCode(1_032_150_000, "库存盘点项不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_CHECK_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "库存盘点明细不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_OUTBOUND_NOT_EXISTS = new ErrorCode(1_032_150_000, "出库不存在");
|
||||
ErrorCode MATERIAL_INVENTORY_OUTBOUND_DETAIL_NOT_EXISTS = new ErrorCode(1_032_150_000, "出库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等不存在");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*================================= tx 1_032_200_000 ~ 1_032_249_999 ==================================*/
|
||||
|
||||
|
||||
|
||||
|
||||
/*================================= 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 ==================================*/
|
||||
|
||||
@@ -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,10 +166,48 @@ 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";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@ public interface QmsPermissionConstant {
|
||||
String TARGET_TYPE_CUSTOM = "custom";
|
||||
|
||||
//======================各业务模块权限常量=============================
|
||||
//报告发起权限
|
||||
String REPORT_DOCUMENT_TYPE_START = "report_document_type_start";
|
||||
|
||||
String REPORT_DOCUMENT_TYPE_START = "report_document_type_start"; //报告发起权限
|
||||
String SAMPLE_WAREHOUSE_ADMIN = "sample_warehouse_admin"; //样品库管理员
|
||||
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
}
|
||||
@@ -17,7 +17,8 @@
|
||||
QMS模块。
|
||||
</description>
|
||||
<properties>
|
||||
<zzjc.tio.version>3.9.1.v20251013-RELEASE</zzjc.tio.version>
|
||||
<zzjc.tio.version>3.9.1.v20251204-RELEASE</zzjc.tio.version>
|
||||
<liteflow.version>2.15.2</liteflow.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<!-- Spring Cloud 基础 -->
|
||||
@@ -141,27 +142,27 @@
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>liteflow-spring-boot-starter</artifactId>
|
||||
<version>2.15.1</version>
|
||||
<version>${liteflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>liteflow-script-javax-pro</artifactId>
|
||||
<version>2.15.1</version>
|
||||
<version>${liteflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>liteflow-script-groovy</artifactId>
|
||||
<version>2.15.1</version>
|
||||
<version>${liteflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>liteflow-script-qlexpress</artifactId>
|
||||
<version>2.15.1</version>
|
||||
<version>${liteflow.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>liteflow-script-graaljs</artifactId>
|
||||
<version>2.15.1</version>
|
||||
<version>${liteflow.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- pdfbox -->
|
||||
|
||||
@@ -93,6 +93,14 @@ public class BusinessAssayTaskController implements BusinessControllerMarker {
|
||||
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')")
|
||||
|
||||
@@ -87,9 +87,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 +107,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));
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.admin;
|
||||
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
|
||||
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;
|
||||
@@ -29,6 +37,7 @@ 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;
|
||||
@@ -40,24 +49,102 @@ import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchService
|
||||
public class BusinessSampleDispatchController implements BusinessControllerMarker {
|
||||
|
||||
|
||||
@Resource
|
||||
private BusinessSampleDispatchService businessSampleDispatchService;
|
||||
@Resource private BusinessSampleDispatchService businessSampleDispatchService;
|
||||
@Resource private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
|
||||
@Resource private BusinessSubSampleService businessSubSampleService;
|
||||
@Resource private ConfigWarehouseLocationService configWarehouseLocationService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建样品调拨")
|
||||
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:create')")
|
||||
public CommonResult<BusinessSampleDispatchRespVO> createBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO createReqVO) {
|
||||
return success(businessSampleDispatchService.createBusinessSampleDispatch(createReqVO));
|
||||
@PostMapping("/createTempData")
|
||||
@Operation(summary = "创建临时数据")
|
||||
public CommonResult<BusinessSampleDispatchRespVO> createTempData() {
|
||||
BusinessSampleDispatchSaveReqVO vo = new BusinessSampleDispatchSaveReqVO();
|
||||
vo.setCancelStatus("-1");
|
||||
return success(businessSampleDispatchService.createBusinessSampleDispatch(vo));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新样品调拨")
|
||||
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:update')")
|
||||
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)
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.admin;
|
||||
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailRespVO;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailSaveReqVO;
|
||||
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;
|
||||
@@ -29,6 +31,8 @@ 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;
|
||||
@@ -40,8 +44,28 @@ import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchDetailS
|
||||
public class BusinessSampleDispatchDetailController implements BusinessControllerMarker {
|
||||
|
||||
|
||||
@Resource
|
||||
private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
|
||||
@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 = "创建样品调拨明细")
|
||||
@@ -88,9 +112,9 @@ public class BusinessSampleDispatchDetailController implements BusinessControlle
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得样品调拨明细分页")
|
||||
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
|
||||
public CommonResult<PageResult<BusinessSampleDispatchDetailRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
|
||||
PageResult<BusinessSampleDispatchDetailDO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BusinessSampleDispatchDetailRespVO.class));
|
||||
public CommonResult<PageResult<BusinessSampleDispatchDetailExtendRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
|
||||
PageResult<BusinessSampleDispatchDetailExtendRespVO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@@ -100,7 +124,7 @@ public class BusinessSampleDispatchDetailController implements BusinessControlle
|
||||
public void exportBusinessSampleDispatchDetailExcel(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<BusinessSampleDispatchDetailDO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
|
||||
List<BusinessSampleDispatchDetailExtendRespVO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "样品调拨明细.xls", "数据", BusinessSampleDispatchDetailRespVO.class,
|
||||
BeanUtils.toBean(list, BusinessSampleDispatchDetailRespVO.class));
|
||||
|
||||
@@ -110,6 +110,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);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ 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.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 +37,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
@RestController
|
||||
@RequestMapping("/qms/business-sample-handover")
|
||||
@Validated
|
||||
public class BusinessSampleHandoverController implements BusinessControllerMarker {
|
||||
public class BusinessSampleHandoverController {
|
||||
|
||||
|
||||
@Resource
|
||||
@@ -84,6 +85,14 @@ 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')")
|
||||
|
||||
@@ -92,6 +92,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')")
|
||||
|
||||
@@ -42,14 +42,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 +58,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 +67,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 +76,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 +84,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 +92,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 {
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
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 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
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
@@ -32,7 +29,7 @@ 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
|
||||
@@ -43,24 +40,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 +65,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));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
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 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
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
@@ -82,9 +83,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 +114,28 @@ 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) {
|
||||
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 +172,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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
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 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
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,6 +8,7 @@ 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.*;
|
||||
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService;
|
||||
@@ -25,11 +26,11 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/sample/analysis-audit")
|
||||
@Validated
|
||||
public class SampleAnalysisAuditController {
|
||||
public class SampleAnalysisAuditController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private SampleAnalysisAuditService sampleAnalysisAuditService;
|
||||
|
||||
|
||||
/**
|
||||
* 交叉审核
|
||||
* @return
|
||||
@@ -41,10 +42,8 @@ public class SampleAnalysisAuditController {
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ 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.*;
|
||||
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisService;
|
||||
@@ -22,7 +24,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/sample/analysis")
|
||||
@Validated
|
||||
public class SampleAnalysisController {
|
||||
public class SampleAnalysisController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private SampleAnalysisService sampleAnalysisService ;
|
||||
@@ -51,11 +53,29 @@ public class SampleAnalysisController {
|
||||
return success("成功");
|
||||
}
|
||||
|
||||
//下发配料
|
||||
@PostMapping("/issuedIngredients")
|
||||
public CommonResult<?> issuedIngredients(Long businessAssayTaskId) {
|
||||
sampleAnalysisService.issuedIngredients(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("成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ 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.module.qms.business.bus.controller.vo.*;
|
||||
@@ -34,7 +34,7 @@ import jakarta.validation.Valid;
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/sample/entrust")
|
||||
@Validated
|
||||
public class SampleEntrustController {
|
||||
public class SampleEntrustController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private FlowExecutor flowExecutor;
|
||||
@@ -59,14 +59,6 @@ public class SampleEntrustController {
|
||||
BusinessSampleEntrustRegistrationExtendRespVO sampleEntrustRegistration = sampleEntrustService.detail(id);
|
||||
return success(sampleEntrustRegistration);
|
||||
}
|
||||
|
||||
@GetMapping("/reportDetail")
|
||||
@Operation(summary = "委托单详情数据")
|
||||
public CommonResult<?> reportDetail(@RequestParam("id") Long id) {
|
||||
JSONObject jsonObject = sampleEntrustService.reportDetail(id);
|
||||
return success(jsonObject);
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改委托登记")
|
||||
|
||||
@@ -1,39 +1,30 @@
|
||||
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.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 {
|
||||
public class SampleFlowController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private SampleFlowService sampleFlowService;
|
||||
@@ -45,138 +36,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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
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.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")
|
||||
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.crossAuditByTaskId(businessAssayTaskId);
|
||||
return success(result);
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ 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.*;
|
||||
import com.zt.plat.module.qms.business.bus.service.SampleResultReportingService;
|
||||
@@ -16,7 +17,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 +29,22 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/sample/result-reporting")
|
||||
@Validated
|
||||
public class SampleResultReportingController {
|
||||
public class SampleResultReportingController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private SampleResultReportingService sampleResultReportingService;
|
||||
|
||||
//获取未上报的方法
|
||||
@GetMapping("/getUnReportMethodGroupList")
|
||||
public CommonResult<?> getUnReportMethodGroupList() {
|
||||
List<BusinessSubParentSampleAssessmentGroupRespVO> list = sampleResultReportingService.getUnReportMethodGroupList();
|
||||
public CommonResult<?> getUnReportMethodGroupList(BusinessSubParentSampleAssessmentGroupReqVO reqVO) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
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.module.qms.business.bus.controller.vo.*;
|
||||
@@ -27,7 +28,7 @@ import jakarta.annotation.Resource;
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/sample/task-assign")
|
||||
@Validated
|
||||
public class SampleTaskAssignController {
|
||||
public class SampleTaskAssignController implements BusinessControllerMarker {
|
||||
|
||||
@Resource
|
||||
private SampleTaskAssignService sampleTaskAssignService;
|
||||
@@ -38,10 +39,17 @@ 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) {
|
||||
List<UnAssignTaskedSubSampleRespVO> list = sampleTaskAssignService.getAssaySampleList(reqVO);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
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.module.qms.core.sampleflow.SampleFlowDefinition;
|
||||
import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/qms/bus/test")
|
||||
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(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过
|
||||
add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过
|
||||
}});
|
||||
flowNodeList.add(bzr);
|
||||
|
||||
|
||||
ypbm.setNextFlowNodeList(new ArrayList<>() {
|
||||
private static final long serialVersionUID = 1014984817516902869L;
|
||||
|
||||
{
|
||||
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<>() {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -54,10 +54,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;
|
||||
}
|
||||
|
||||
@@ -65,4 +65,8 @@ public class BusinessAssayProjectDataReqVO {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
//========================扩展字段==================================
|
||||
|
||||
@Schema(description = "检测任务ID列表", example = "16505")
|
||||
private List<Long> businessAssayTaskDataIdList;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ 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;
|
||||
|
||||
/**
|
||||
@@ -43,6 +44,13 @@ public class BusinessAssayTaskAnalysisSampleAndQcProjectRespVO {
|
||||
/** 动态表单值 **/
|
||||
private String formValue;
|
||||
|
||||
@Schema(description = "是否配料,1-是,0-否")
|
||||
private Integer isIngredients;
|
||||
|
||||
@Schema(description = "配料状态,初始状态-initial、等待配料-in_progress、可提交-allow_submit", example = "2")
|
||||
private String ingredientsStatus;
|
||||
|
||||
|
||||
/** 质量控制分析方法 **/
|
||||
//private List<ConfigQCSampleMethodExtendRespVO> configQCSampleMethodList;
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ 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;
|
||||
|
||||
/**
|
||||
@@ -43,6 +45,12 @@ 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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -17,6 +17,12 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
|
||||
/** 分析方法名称 **/
|
||||
@Schema(description = "分析方法名称")
|
||||
private String configAssayMethodName;
|
||||
|
||||
@Schema(description = "检测方法配置名称及类别")
|
||||
private String configAssayMethodNameAndCategory;
|
||||
|
||||
@Schema(description = "子样配置id")
|
||||
private Long configSubSampleId;
|
||||
|
||||
@Schema(description = "样品名称")
|
||||
private String sampleName;
|
||||
@@ -26,4 +32,13 @@ 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;
|
||||
}
|
||||
|
||||
@@ -5,12 +5,31 @@ import lombok.Data;
|
||||
@Data
|
||||
public class BusinessAssayTaskDataGroupRespVO {
|
||||
|
||||
/** 方法id **/
|
||||
private Long configAssayMethodId;
|
||||
|
||||
/** 方法名称 **/
|
||||
private String configAssayMethodName;
|
||||
|
||||
/** 方法名称及类别 **/
|
||||
private String configAssayMethodNameAndCategory;
|
||||
|
||||
private String assayType;
|
||||
|
||||
private Integer sampleTaskCount;
|
||||
|
||||
/** 判定未完 **/
|
||||
private Integer asmtInitialCount;
|
||||
|
||||
/** 判定待上报 **/
|
||||
private Integer asmtPendingReportCount;
|
||||
|
||||
/** 判定待判定 **/
|
||||
private Integer asmtPendingAssessmentCount;
|
||||
|
||||
/** 判定复测 **/
|
||||
private Integer asmtReInspectedCount;
|
||||
|
||||
/** 判定已上报 **/
|
||||
private Integer asmtReportedCount;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -89,4 +98,8 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
//===================================扩展字段===============================================
|
||||
|
||||
@Schema(description = "样品状态")
|
||||
private String sampleStatus;
|
||||
}
|
||||
@@ -22,6 +22,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 +49,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 +65,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;
|
||||
@@ -88,5 +97,30 @@ 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 sampleAssayCode;
|
||||
|
||||
@Schema(description = "归库编号")
|
||||
private String sampleReturnCode;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
@@ -24,6 +25,9 @@ public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO {
|
||||
/** 分析方法名称 **/
|
||||
private String configAssayMethodName;
|
||||
|
||||
@Schema(description = "检测方法配置名称及类别")
|
||||
private String configAssayMethodNameAndCategory;
|
||||
|
||||
/** 分析方法对应的分析项目 **/
|
||||
private String configAssayMethodProjectShowNames;
|
||||
|
||||
|
||||
@@ -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,18 @@ 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、等待配料-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 +81,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 +100,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 +116,9 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "不等于当前分析人")
|
||||
private String neAssayOperator;
|
||||
|
||||
@Schema(description = "部门id")
|
||||
private Long deptId;
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
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、等待配料-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;
|
||||
|
||||
}
|
||||
@@ -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,20 @@ public class BusinessAssayTaskRespVO {
|
||||
@ExcelProperty("任务单分配提交时间")
|
||||
private LocalDateTime taskAssignSubmitTime;
|
||||
|
||||
@Schema(description = "是否配料,1-是,0-否")
|
||||
private Integer isIngredients;
|
||||
|
||||
@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 +93,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 +117,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 = "所属部门")
|
||||
|
||||
@@ -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,18 @@ public class BusinessAssayTaskSaveReqVO {
|
||||
@ExcelProperty("任务单分配提交时间")
|
||||
private LocalDateTime taskAssignSubmitTime;
|
||||
|
||||
@Schema(description = "是否配料,1-是,0-否")
|
||||
private Integer isIngredients;
|
||||
|
||||
@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 +84,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 +102,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 = "所属部门")
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
@@ -46,6 +46,9 @@ public class BusinessQCCoefficientDataPageReqVO extends PageParam {
|
||||
@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;
|
||||
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataPageReqVO extends PageParam {
|
||||
@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;
|
||||
|
||||
@@ -46,6 +46,9 @@ public class BusinessQCCoefficientDataReqVO {
|
||||
@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;
|
||||
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataReqVO {
|
||||
@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;
|
||||
|
||||
@@ -60,6 +60,9 @@ public class BusinessQCCoefficientDataRespVO {
|
||||
@ExcelProperty("分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "10644")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
@ExcelProperty("分配任务时间")
|
||||
private LocalDateTime assignTaskTime;
|
||||
@@ -76,6 +79,9 @@ public class BusinessQCCoefficientDataRespVO {
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报人ID", example = "2683")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@@ -50,6 +50,9 @@ public class BusinessQCCoefficientDataSaveReqVO {
|
||||
@Schema(description = "分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "10644")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
private LocalDateTime assignTaskTime;
|
||||
|
||||
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataSaveReqVO {
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人ID", example = "2683")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
|
||||
@@ -46,6 +46,9 @@ public class BusinessQCManagementDataPageReqVO extends PageParam {
|
||||
@Schema(description = "分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "6498")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] assignTaskTime;
|
||||
@@ -59,6 +62,9 @@ public class BusinessQCManagementDataPageReqVO extends PageParam {
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报人ID", example = "17517")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@@ -46,6 +46,9 @@ public class BusinessQCManagementDataReqVO {
|
||||
@Schema(description = "分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "6498")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] assignTaskTime;
|
||||
@@ -59,6 +62,9 @@ public class BusinessQCManagementDataReqVO {
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报人ID", example = "17517")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@@ -60,6 +60,9 @@ public class BusinessQCManagementDataRespVO {
|
||||
@ExcelProperty("分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "6498")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
@ExcelProperty("分配任务时间")
|
||||
private LocalDateTime assignTaskTime;
|
||||
@@ -76,6 +79,9 @@ public class BusinessQCManagementDataRespVO {
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报人ID", example = "17517")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@@ -51,6 +51,9 @@ public class BusinessQCManagementDataSaveReqVO {
|
||||
@Schema(description = "分析人")
|
||||
private String assayOperator;
|
||||
|
||||
@Schema(description = "分析人ID", example = "6498")
|
||||
private Long assayOperatorId;
|
||||
|
||||
@Schema(description = "分配任务时间")
|
||||
private LocalDateTime assignTaskTime;
|
||||
|
||||
@@ -63,6 +66,9 @@ public class BusinessQCManagementDataSaveReqVO {
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报人ID", example = "17517")
|
||||
private Long reporterId;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class BusinessSampleDispatchDetailExtendRespVO extends BusinessSampleDispatchDetailRespVO{
|
||||
//样品编号
|
||||
private String sampleCode;
|
||||
|
||||
//样品名称
|
||||
private String sampleName;
|
||||
|
||||
//归库码
|
||||
private String sampleReturnCode;
|
||||
|
||||
//归库状态
|
||||
private String sampleReturnStatus;
|
||||
|
||||
//归库时间
|
||||
private LocalDateTime sampleReturnTime;
|
||||
|
||||
//调拨状态
|
||||
private String dispatchStatus;
|
||||
|
||||
//归库状态
|
||||
private String returnStatus;
|
||||
|
||||
//库位编码
|
||||
private String warehouseLocationCode;
|
||||
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ 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 java.util.List;
|
||||
|
||||
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@@ -12,66 +13,41 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
|
||||
@Data
|
||||
public class BusinessSampleDispatchDetailPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "主表数据id,支持", example = "10889")
|
||||
@Schema(description = "父ID", example = "828")
|
||||
private Long parentId;
|
||||
|
||||
@Schema(description = "业务数据ID", example = "10723")
|
||||
@Schema(description = "子样数据ID", example = "828")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "领用人")
|
||||
private String borrowUser;
|
||||
|
||||
@Schema(description = "领用人id", example = "11884")
|
||||
@Schema(description = "领用人id", example = "22151")
|
||||
private Long borrowUserId;
|
||||
|
||||
@Schema(description = "领用时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private Long[] borrowTime;
|
||||
private LocalDateTime[] borrowTime;
|
||||
|
||||
@Schema(description = "领用状态,0-未领用;1-已领用", example = "1")
|
||||
private String borrowStatus;
|
||||
|
||||
@Schema(description = "归还人")
|
||||
private String givebackUser;
|
||||
|
||||
@Schema(description = "归还人id", example = "30812")
|
||||
@Schema(description = "归还人id", example = "23976")
|
||||
private Long givebackUserId;
|
||||
|
||||
@Schema(description = "归还时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private Long[] givebackTime;
|
||||
private LocalDateTime[] givebackTime;
|
||||
|
||||
@Schema(description = "申请部门")
|
||||
private String applyDepartment;
|
||||
|
||||
@Schema(description = "申请部门id", example = "10703")
|
||||
private Long applyDepartmentId;
|
||||
|
||||
@Schema(description = "申请时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] applyTime;
|
||||
|
||||
@Schema(description = "提交状态,0-未提交;1-已提交", example = "2")
|
||||
private String submitStatus;
|
||||
|
||||
@Schema(description = "审批状态,0-未审批;1-已审批", example = "2")
|
||||
private String approvalStatus;
|
||||
@Schema(description = "归还状态,0-未归还;1-已归还", example = "2")
|
||||
private String givebackStatus;
|
||||
|
||||
@Schema(description = "使用状态", example = "2")
|
||||
private String useStatus;
|
||||
|
||||
@Schema(description = "表单数据,表单数据")
|
||||
private String formData;
|
||||
|
||||
@Schema(description = "表单模板,表单编辑器模板")
|
||||
private String formTemplate;
|
||||
|
||||
@Schema(description = "流程实例id", example = "25078")
|
||||
private String flowInstanceId;
|
||||
|
||||
@Schema(description = "流程审批状态", example = "1")
|
||||
private String flowStatus;
|
||||
|
||||
@Schema(description = "审批意见")
|
||||
private String opinion;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -82,4 +58,17 @@ public class BusinessSampleDispatchDetailPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
//================================扩展字段=============================================
|
||||
|
||||
@Schema(description = "样品归库码")
|
||||
private String sampleReturnCode;
|
||||
|
||||
@Schema(description = "idsList")
|
||||
private List<Long> idList;
|
||||
|
||||
@Schema(description = "调拨状态")
|
||||
private String dispatchStatus;
|
||||
|
||||
@Schema(description = "归库状态")
|
||||
private String returnStatus;
|
||||
}
|
||||
@@ -11,86 +11,54 @@ import com.alibaba.excel.annotation.*;
|
||||
@ExcelIgnoreUnannotated
|
||||
public class BusinessSampleDispatchDetailRespVO {
|
||||
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31752")
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "20771")
|
||||
@ExcelProperty("主键")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "主表数据id,支持", requiredMode = Schema.RequiredMode.REQUIRED, example = "10889")
|
||||
@ExcelProperty("主表数据id,支持")
|
||||
@Schema(description = "父ID", example = "828")
|
||||
@ExcelProperty("父ID")
|
||||
private Long parentId;
|
||||
|
||||
@Schema(description = "业务数据ID", example = "10723")
|
||||
@ExcelProperty("业务数据ID")
|
||||
@Schema(description = "子样数据ID", example = "828")
|
||||
@ExcelProperty("子样数据ID")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "领用人")
|
||||
@ExcelProperty("领用人")
|
||||
private String borrowUser;
|
||||
|
||||
@Schema(description = "领用人id", example = "11884")
|
||||
@Schema(description = "领用人id", example = "22151")
|
||||
@ExcelProperty("领用人id")
|
||||
private Long borrowUserId;
|
||||
|
||||
@Schema(description = "领用时间")
|
||||
@ExcelProperty("领用时间")
|
||||
private Long borrowTime;
|
||||
private LocalDateTime borrowTime;
|
||||
|
||||
@Schema(description = "领用状态,0-未领用;1-已领用", example = "1")
|
||||
@ExcelProperty("领用状态,0-未领用;1-已领用")
|
||||
private String borrowStatus;
|
||||
|
||||
@Schema(description = "归还人")
|
||||
@ExcelProperty("归还人")
|
||||
private String givebackUser;
|
||||
|
||||
@Schema(description = "归还人id", example = "30812")
|
||||
@Schema(description = "归还人id", example = "23976")
|
||||
@ExcelProperty("归还人id")
|
||||
private Long givebackUserId;
|
||||
|
||||
@Schema(description = "归还时间")
|
||||
@ExcelProperty("归还时间")
|
||||
private Long givebackTime;
|
||||
private LocalDateTime givebackTime;
|
||||
|
||||
@Schema(description = "申请部门")
|
||||
@ExcelProperty("申请部门")
|
||||
private String applyDepartment;
|
||||
|
||||
@Schema(description = "申请部门id", example = "10703")
|
||||
@ExcelProperty("申请部门id")
|
||||
private Long applyDepartmentId;
|
||||
|
||||
@Schema(description = "申请时间")
|
||||
@ExcelProperty("申请时间")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
@Schema(description = "提交状态,0-未提交;1-已提交", example = "2")
|
||||
@ExcelProperty("提交状态,0-未提交;1-已提交")
|
||||
private String submitStatus;
|
||||
|
||||
@Schema(description = "审批状态,0-未审批;1-已审批", example = "2")
|
||||
@ExcelProperty("审批状态,0-未审批;1-已审批")
|
||||
private String approvalStatus;
|
||||
@Schema(description = "归还状态,0-未归还;1-已归还", example = "2")
|
||||
@ExcelProperty("归还状态,0-未归还;1-已归还")
|
||||
private String givebackStatus;
|
||||
|
||||
@Schema(description = "使用状态", example = "2")
|
||||
@ExcelProperty("使用状态")
|
||||
private String useStatus;
|
||||
|
||||
@Schema(description = "表单数据,表单数据")
|
||||
@ExcelProperty("表单数据,表单数据")
|
||||
private String formData;
|
||||
|
||||
@Schema(description = "表单模板,表单编辑器模板")
|
||||
@ExcelProperty("表单模板,表单编辑器模板")
|
||||
private String formTemplate;
|
||||
|
||||
@Schema(description = "流程实例id", example = "25078")
|
||||
@ExcelProperty("流程实例id")
|
||||
private String flowInstanceId;
|
||||
|
||||
@Schema(description = "流程审批状态", example = "1")
|
||||
@ExcelProperty("流程审批状态")
|
||||
private String flowStatus;
|
||||
|
||||
@Schema(description = "审批意见")
|
||||
@ExcelProperty("审批意见")
|
||||
private String opinion;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -10,67 +10,42 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class BusinessSampleDispatchDetailSaveReqVO {
|
||||
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31752")
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "20771")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "主表数据id,支持", requiredMode = Schema.RequiredMode.REQUIRED, example = "10889")
|
||||
@NotNull(message = "主表数据id,支持不能为空")
|
||||
@Schema(description = "父ID", example = "828")
|
||||
private Long parentId;
|
||||
|
||||
@Schema(description = "业务数据ID", example = "10723")
|
||||
@Schema(description = "子样数据ID", example = "828")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "领用人")
|
||||
private String borrowUser;
|
||||
|
||||
@Schema(description = "领用人id", example = "11884")
|
||||
@Schema(description = "领用人id", example = "22151")
|
||||
private Long borrowUserId;
|
||||
|
||||
@Schema(description = "领用时间")
|
||||
private Long borrowTime;
|
||||
private LocalDateTime borrowTime;
|
||||
|
||||
@Schema(description = "领用状态,0-未领用;1-已领用", example = "1")
|
||||
private String borrowStatus;
|
||||
|
||||
@Schema(description = "归还人")
|
||||
private String givebackUser;
|
||||
|
||||
@Schema(description = "归还人id", example = "30812")
|
||||
@Schema(description = "归还人id", example = "23976")
|
||||
private Long givebackUserId;
|
||||
|
||||
@Schema(description = "归还时间")
|
||||
private Long givebackTime;
|
||||
private LocalDateTime givebackTime;
|
||||
|
||||
@Schema(description = "申请部门")
|
||||
private String applyDepartment;
|
||||
|
||||
@Schema(description = "申请部门id", example = "10703")
|
||||
private Long applyDepartmentId;
|
||||
|
||||
@Schema(description = "申请时间")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
@Schema(description = "提交状态,0-未提交;1-已提交", example = "2")
|
||||
private String submitStatus;
|
||||
|
||||
@Schema(description = "审批状态,0-未审批;1-已审批", example = "2")
|
||||
private String approvalStatus;
|
||||
@Schema(description = "归还状态,0-未归还;1-已归还", example = "2")
|
||||
private String givebackStatus;
|
||||
|
||||
@Schema(description = "使用状态", example = "2")
|
||||
private String useStatus;
|
||||
|
||||
@Schema(description = "表单数据,表单数据")
|
||||
private String formData;
|
||||
|
||||
@Schema(description = "表单模板,表单编辑器模板")
|
||||
private String formTemplate;
|
||||
|
||||
@Schema(description = "流程实例id", example = "25078")
|
||||
private String flowInstanceId;
|
||||
|
||||
@Schema(description = "流程审批状态", example = "1")
|
||||
private String flowStatus;
|
||||
|
||||
@Schema(description = "审批意见")
|
||||
private String opinion;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
|
||||
@@ -34,6 +34,9 @@ public class BusinessSampleDispatchPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] applyTime;
|
||||
|
||||
@Schema(description = "申请原因")
|
||||
private String applyContent;
|
||||
|
||||
@Schema(description = "库管员")
|
||||
private String warehouseUser;
|
||||
|
||||
@@ -61,6 +64,12 @@ public class BusinessSampleDispatchPageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "仓库名称")
|
||||
private String warehouseName;
|
||||
|
||||
@Schema(description = "仓库编码")
|
||||
private String warehouseCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
@@ -43,6 +44,10 @@ public class BusinessSampleDispatchRespVO {
|
||||
@ExcelProperty("申请时间")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
@Schema(description = "申请原因")
|
||||
@ExcelProperty("申请原因")
|
||||
private String applyContent;
|
||||
|
||||
@Schema(description = "库管员")
|
||||
@ExcelProperty("库管员")
|
||||
private String warehouseUser;
|
||||
@@ -61,6 +66,7 @@ public class BusinessSampleDispatchRespVO {
|
||||
|
||||
@Schema(description = "流程审批状态", example = "1")
|
||||
@ExcelProperty("流程审批状态")
|
||||
@Dict(dicCode = "flow_status")
|
||||
private String flowStatus;
|
||||
|
||||
@Schema(description = "完成状态", example = "1")
|
||||
@@ -79,6 +85,14 @@ public class BusinessSampleDispatchRespVO {
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "仓库名称")
|
||||
@ExcelProperty("仓库名称")
|
||||
private String warehouseName;
|
||||
|
||||
@Schema(description = "仓库编码")
|
||||
@ExcelProperty("仓库编码")
|
||||
private String warehouseCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 样品调拨新增/修改 Request VO")
|
||||
@Data
|
||||
@@ -33,6 +34,9 @@ public class BusinessSampleDispatchSaveReqVO {
|
||||
@Schema(description = "申请时间")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
@Schema(description = "申请原因")
|
||||
private String applyContent;
|
||||
|
||||
@Schema(description = "库管员")
|
||||
private String warehouseUser;
|
||||
|
||||
@@ -60,4 +64,18 @@ public class BusinessSampleDispatchSaveReqVO {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "仓库名称")
|
||||
private String warehouseName;
|
||||
|
||||
@Schema(description = "仓库编码")
|
||||
private String warehouseCode;
|
||||
|
||||
//=========================扩展字段=======================================
|
||||
@Schema(description = "新增子样id")
|
||||
List<Long> addSubSampleIds;
|
||||
|
||||
@Schema(description = "移除明细id")
|
||||
List<Long> removeDetailIds;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,15 +1,42 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntrustDetailRespVO {
|
||||
|
||||
/**
|
||||
* 样品类型key
|
||||
*/
|
||||
private String sampleTypeDictionaryBusinessKey;
|
||||
|
||||
/** 样品大类名称 **/
|
||||
private String baseSampleName;
|
||||
|
||||
|
||||
/** 主样配置id **/
|
||||
private Long configBaseSampleId;
|
||||
|
||||
/** 打印标签 **/
|
||||
private String printTemplate;
|
||||
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "任务结束时间(yyyy-MM-dd HH:mm:ss)")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private List<BusinessSampleEntrustProjectExtendRespVO> sampleEntrustDetailProjectList;
|
||||
|
||||
}
|
||||
|
||||
@@ -151,7 +151,12 @@ public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "部门id")
|
||||
private Long deptId;
|
||||
//====================扩展字段======================
|
||||
@Schema(description = "委托来源名称")
|
||||
private String configEntrustSourceName;
|
||||
|
||||
@Schema(description = "报表配置id")
|
||||
private Long configReportTypeId;
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
||||
|
||||
@Schema(description = "管理后台 - 委检登记业务 Response VO")
|
||||
@Data
|
||||
@@ -144,10 +145,12 @@ public class BusinessSampleEntrustRegistrationRespVO {
|
||||
@ExcelProperty("数据校验状态,success-数据校验成功、fail-数据校验失败")
|
||||
private String dataCheckStatus;
|
||||
|
||||
@Dict(dicCode = "entrust_assay_status")
|
||||
@Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2")
|
||||
@ExcelProperty("检验状态,unchecked-未检验;checked-已检验")
|
||||
private String assayStatus;
|
||||
|
||||
@Dict(dicCode = "entrust_data_status")
|
||||
@Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "1")
|
||||
@ExcelProperty("数据回报状态,unreturned-未回报;returned-已回报")
|
||||
private String dataStatus;
|
||||
|
||||
@@ -61,4 +61,19 @@ public class BusinessSampleHandoverDetailRespVO {
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
//==================================扩展字段==================================
|
||||
@Schema(description = "原样品编号")
|
||||
@ExcelProperty("原样品编号")
|
||||
private String originalSampleCode;
|
||||
|
||||
@Schema(description = "库位编码")
|
||||
@ExcelProperty("归库时间")
|
||||
private String warehouseLocationCode;
|
||||
|
||||
@Schema(description = "归库时间")
|
||||
@ExcelProperty("归库时间")
|
||||
private LocalDateTime returnTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -60,4 +60,6 @@ public class BusinessSampleHandoverPageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
private Long deptId;
|
||||
|
||||
}
|
||||
@@ -17,4 +17,7 @@ public class BusinessSubParentSampleAssessmentExtendRespVO extends BusinessSubPa
|
||||
|
||||
@Schema(description = "显示名称")
|
||||
private String showName;
|
||||
|
||||
@Schema(description = "分析方法")
|
||||
private String configAssayMethodName;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentGroupReqVO {
|
||||
|
||||
@Schema(description = "分析方法id")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "分析方法名称")
|
||||
private String configAssayMethodName;
|
||||
|
||||
@Schema(description = "检测方法配置名称及类别")
|
||||
private String configAssayMethodNameAndCategory;
|
||||
|
||||
@Schema(description = "分析部门ID")
|
||||
private Long assayDepartmentId;
|
||||
|
||||
@Schema(description = "分析部门名称")
|
||||
private String assayDepartmentName;
|
||||
|
||||
@Schema(description = "收样时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] sampleReceiveTime;
|
||||
}
|
||||
@@ -1,13 +1,25 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentGroupRespVO {
|
||||
|
||||
@Schema(description = "分析方法id")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "分析方法名称")
|
||||
private String configAssayMethodName;
|
||||
|
||||
@Schema(description = "检测方法配置名称及类别")
|
||||
private String configAssayMethodNameAndCategory;
|
||||
|
||||
@Schema(description = "分析部门ID")
|
||||
private Long assayDepartmentId;
|
||||
|
||||
@Schema(description = "分析部门名称")
|
||||
private String assayDepartmentName;
|
||||
|
||||
private Integer sampleCount;
|
||||
}
|
||||
|
||||
@@ -13,45 +13,21 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "样品分样ID", example = "23188")
|
||||
@Schema(description = "样品分样ID", example = "25701")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "17642")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", example = "7653")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "16271")
|
||||
@Schema(description = "检测方法配置ID", example = "13131")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "1")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2")
|
||||
private String dataType;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "2")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@@ -62,6 +38,9 @@ public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -69,7 +48,7 @@ public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "乐观锁", example = "16999")
|
||||
@Schema(description = "乐观锁", example = "13008")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentProjectExtendRespVO extends BusinessSubParentSampleAssessmentProjectRespVO {
|
||||
|
||||
@Schema(description = "检测项目key")
|
||||
private String dictionaryProjectKey;
|
||||
|
||||
@Schema(description = "检测项目单位")
|
||||
private String dictionaryProjectUnit;
|
||||
|
||||
@Schema(description = "检测项目缩写")
|
||||
private String simpleName;
|
||||
|
||||
@Schema(description = "显示名称")
|
||||
private String showName;
|
||||
|
||||
@Schema(description = "分析方法")
|
||||
private String configAssayMethodName;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
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 BusinessSubParentSampleAssessmentProjectPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "样品分样ID", example = "23188")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "17642")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", example = "7653")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "16271")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2")
|
||||
private String dataType;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "2")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "乐观锁", example = "16999")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
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 BusinessSubParentSampleAssessmentProjectRespVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5014")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188")
|
||||
@ExcelProperty("样品分样ID")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642")
|
||||
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7653")
|
||||
@ExcelProperty("检测方法分析项目配置ID")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16271")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@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;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
@ExcelProperty("小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
@ExcelProperty("判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16999")
|
||||
@ExcelProperty("乐观锁")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
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")
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentProjectSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5014")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188")
|
||||
@NotNull(message = "样品分样ID不能为空")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642")
|
||||
@NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7653")
|
||||
@NotNull(message = "检测方法分析项目配置ID不能为空")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16271")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@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;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差不能为空")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否已上报不能为空")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "上报人不能为空")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "上报时间不能为空")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16999")
|
||||
@NotNull(message = "乐观锁不能为空")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -12,69 +12,46 @@ import com.alibaba.excel.annotation.*;
|
||||
@ExcelIgnoreUnannotated
|
||||
public class BusinessSubParentSampleAssessmentRespVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5014")
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29068")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188")
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25701")
|
||||
@ExcelProperty("样品分样ID")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642")
|
||||
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7653")
|
||||
@ExcelProperty("检测方法分析项目配置ID")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16271")
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13131")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...")
|
||||
private String assayType;
|
||||
|
||||
@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;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
@ExcelProperty("小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
@ExcelProperty("判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "是否已上报")
|
||||
@ExcelProperty("是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "上报人")
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "上报时间")
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
@ExcelProperty("结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
@@ -83,7 +60,7 @@ public class BusinessSubParentSampleAssessmentRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16999")
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13008")
|
||||
@ExcelProperty("乐观锁")
|
||||
private Integer updateCount;
|
||||
|
||||
|
||||
@@ -11,70 +11,44 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5014")
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29068")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188")
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25701")
|
||||
@NotNull(message = "样品分样ID不能为空")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642")
|
||||
@NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7653")
|
||||
@NotNull(message = "检测方法分析项目配置ID不能为空")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16271")
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13131")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...不能为空")
|
||||
private String assayType;
|
||||
|
||||
@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;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差不能为空")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否已上报不能为空")
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "上报人不能为空")
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "上报时间不能为空")
|
||||
@Schema(description = "上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16999")
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13008")
|
||||
@NotNull(message = "乐观锁不能为空")
|
||||
private Integer updateCount;
|
||||
|
||||
|
||||
@@ -31,6 +31,9 @@ public class BusinessSubSampleAnalysisGroupPageReqVO extends PageParam {
|
||||
@Schema(description = "样品状态", example = "1")
|
||||
private String sampleStatus;
|
||||
|
||||
@Schema(description = "是否送样")
|
||||
private Integer isSend;
|
||||
|
||||
@Schema(description = "收样人")
|
||||
private String sampleReceiver;
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@ public class BusinessSubSampleAnalysisGroupRespVO {
|
||||
@ExcelProperty("样品状态")
|
||||
private String sampleStatus;
|
||||
|
||||
@Schema(description = "是否送样")
|
||||
private Integer isSend;
|
||||
|
||||
@Schema(description = "收样人")
|
||||
@ExcelProperty("收样人")
|
||||
private String sampleReceiver;
|
||||
|
||||
@@ -37,6 +37,9 @@ public class BusinessSubSampleAnalysisGroupSaveReqVO {
|
||||
@NotEmpty(message = "样品状态不能为空")
|
||||
private String sampleStatus;
|
||||
|
||||
@Schema(description = "是否送样")
|
||||
private Integer isSend;
|
||||
|
||||
@Schema(description = "收样人")
|
||||
private String sampleReceiver;
|
||||
|
||||
|
||||
@@ -9,55 +9,37 @@ 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")
|
||||
@Schema(description = "管理后台 - 子样判定业务分页 Request VO")
|
||||
@Data
|
||||
public class BusinessSubSampleAssessmentPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "分样id")
|
||||
@Schema(description = "样品分样ID", example = "29115")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", example = "7025")
|
||||
|
||||
@Schema(description = "分样子样ID", example = "30256")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "21744")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", example = "14847")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "8091")
|
||||
@Schema(description = "检测方法配置ID", example = "16304")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "1")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1")
|
||||
private String dataType;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "2")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
@Schema(description = "是否复测,1-是,0-否")
|
||||
private Integer isRecheck;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
@Schema(description = "是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@@ -65,6 +47,9 @@ public class BusinessSubSampleAssessmentPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -72,7 +57,7 @@ public class BusinessSubSampleAssessmentPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "乐观锁", example = "12836")
|
||||
@Schema(description = "乐观锁", example = "6438")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusinessSubSampleAssessmentProjectExtendRespVO extends BusinessSubSampleAssessmentProjectRespVO {
|
||||
|
||||
/** 分析方法名称 **/
|
||||
@Schema(description = "分析方法名称")
|
||||
private String configAssayMethodName;
|
||||
|
||||
@Schema(description = "检测项目key")
|
||||
private String dictionaryProjectKey;
|
||||
|
||||
@Schema(description = "检测项目单位")
|
||||
private String dictionaryProjectUnit;
|
||||
|
||||
@Schema(description = "检测项目缩写")
|
||||
private String simpleName;
|
||||
|
||||
@Schema(description = "显示名称")
|
||||
private String showName;
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
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 BusinessSubSampleAssessmentProjectPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "分样id")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", example = "7025")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "21744")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", example = "14847")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "8091")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1")
|
||||
private String dataType;
|
||||
|
||||
@Schema(description = "小数位")
|
||||
private Integer decimalPosition;
|
||||
|
||||
@Schema(description = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "乐观锁", example = "12836")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
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 BusinessSubSampleAssessmentProjectRespVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "分样id")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025")
|
||||
@ExcelProperty("分样子样ID")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
@ExcelProperty("分样子样判定ID")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847")
|
||||
@ExcelProperty("检测方法分析项目配置ID")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...")
|
||||
private String assayType;
|
||||
|
||||
@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 = "判定值")
|
||||
@ExcelProperty("判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836")
|
||||
@ExcelProperty("乐观锁")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
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")
|
||||
@Data
|
||||
public class BusinessSubSampleAssessmentProjectSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "分样id")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025")
|
||||
@NotNull(message = "分样子样ID不能为空")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847")
|
||||
@NotNull(message = "检测方法分析项目配置ID不能为空")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...不能为空")
|
||||
private String assayType;
|
||||
|
||||
@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 = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否已上报不能为空")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "上报人不能为空")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "上报时间不能为空")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -7,41 +7,28 @@ import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 子样判定数据业务 Response VO")
|
||||
@Schema(description = "管理后台 - 子样判定业务 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class BusinessSubSampleAssessmentRespVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478")
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5736")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "分样id")
|
||||
|
||||
@Schema(description = "样品分样ID", example = "29115")
|
||||
@ExcelProperty("样品分样ID")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025")
|
||||
@Schema(description = "分样子样ID", example = "30256")
|
||||
@ExcelProperty("分样子样ID")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847")
|
||||
@ExcelProperty("检测方法分析项目配置ID")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091")
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16304")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...")
|
||||
private String taskType;
|
||||
|
||||
@@ -49,38 +36,33 @@ public class BusinessSubSampleAssessmentRespVO {
|
||||
@ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...")
|
||||
private String assayType;
|
||||
|
||||
@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 = "判定值")
|
||||
@ExcelProperty("判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "2")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
@Schema(description = "是否复测,1-是,0-否")
|
||||
@ExcelProperty("是否复测,1-是,0-否")
|
||||
private Integer isRecheck;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否已上报")
|
||||
@Schema(description = "是否已上报,1-是,0-否")
|
||||
@ExcelProperty("是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "上报时间")
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -88,7 +70,7 @@ public class BusinessSubSampleAssessmentRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836")
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "6438")
|
||||
@ExcelProperty("乐观锁")
|
||||
private Integer updateCount;
|
||||
|
||||
|
||||
@@ -7,39 +7,24 @@ import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 子样判定数据业务新增/修改 Request VO")
|
||||
@Schema(description = "管理后台 - 子样判定业务新增/修改 Request VO")
|
||||
@Data
|
||||
public class BusinessSubSampleAssessmentSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478")
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5736")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "分样id")
|
||||
|
||||
@Schema(description = "样品分样ID", example = "29115")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025")
|
||||
@NotNull(message = "分样子样ID不能为空")
|
||||
@Schema(description = "分样子样ID", example = "30256")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847")
|
||||
@NotNull(message = "检测方法分析项目配置ID不能为空")
|
||||
private Long configAssayMethodProjectId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091")
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16304")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "符号,=、>、<、等")
|
||||
private String symbol;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空")
|
||||
private String taskType;
|
||||
|
||||
@@ -47,38 +32,32 @@ public class BusinessSubSampleAssessmentSaveReqVO {
|
||||
@NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...不能为空")
|
||||
private String assayType;
|
||||
|
||||
@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 = "判定值")
|
||||
private String assessmentValue;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "1")
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常,exceeds_tolerance-超差", example = "2")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "方法检出下限值")
|
||||
private String minimumLimitValue;
|
||||
@Schema(description = "是否复测,1-是,0-否")
|
||||
private Integer isRecheck;
|
||||
|
||||
@Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否已上报不能为空")
|
||||
@Schema(description = "是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "上报人不能为空")
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "上报时间不能为空")
|
||||
@Schema(description = "上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836")
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "6438")
|
||||
@NotNull(message = "乐观锁不能为空")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -17,5 +27,70 @@ public class BusinessSubSampleExtendRespVO extends BusinessSubSampleRespVO {
|
||||
|
||||
@Schema(description = "子样检测方法")
|
||||
private List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataList;
|
||||
|
||||
@Schema(description = "分析班组")
|
||||
private List<BusinessSubSampleAnalysisGroupRespVO> businessSubSampleAnalysisGroupList;
|
||||
|
||||
@Schema(description = "样品去向")
|
||||
private String sampleDestination;
|
||||
|
||||
public String getSampleDestination() {
|
||||
String _sampleDestination = null;
|
||||
if (CollUtil.isNotEmpty(this.businessSubSampleAnalysisGroupList)) {
|
||||
List<String> collect = this.businessSubSampleAnalysisGroupList.stream().filter(f -> f.getSampleStatus().equals("待收样")).map(m -> m.getAssayDepartmentName()).collect(Collectors.toList());
|
||||
_sampleDestination = CollUtil.join(collect, ",");
|
||||
}
|
||||
if (StringUtils.isBlank(_sampleDestination)) {//所有分析班组已完成,去向显示为库名
|
||||
_sampleDestination = this.getWarehouseName();
|
||||
}
|
||||
return _sampleDestination;
|
||||
}
|
||||
|
||||
@Schema(description = "样品所在位置")
|
||||
private String sampleLocation;
|
||||
|
||||
public String getSampleLocation() {
|
||||
this.sampleLocation = null;
|
||||
if (CollUtil.isNotEmpty(this.businessSubSampleAnalysisGroupList)) {
|
||||
List<String> collect = this.businessSubSampleAnalysisGroupList.stream().filter(f -> f.getSampleStatus().equals("已收样")).map(m -> m.getAssayDepartmentName()).collect(Collectors.toList());
|
||||
this.sampleLocation = CollUtil.join(collect, ",");
|
||||
}
|
||||
return this.sampleLocation;
|
||||
}
|
||||
|
||||
@Schema(description = "分析部门id")
|
||||
private Long assayDepartmentId;
|
||||
|
||||
@Schema(description = "分析部门名称")
|
||||
private String assayDepartmentName;
|
||||
|
||||
@Schema(description = "是否已送样")
|
||||
private Integer isSendSample;
|
||||
|
||||
@Schema(description = "是否打印")
|
||||
private Integer isPrint;
|
||||
|
||||
@Schema(description = "样品标签打印模版")
|
||||
private String printTemplate;
|
||||
|
||||
@Schema(description = "样品标签打印份数")
|
||||
private Integer codePrintQuantity;
|
||||
|
||||
@Schema(description = "收样人")
|
||||
private String sampleReceiver;
|
||||
|
||||
@Schema(description = "分析项目")
|
||||
private String assayProject;
|
||||
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "收样时间")
|
||||
private LocalDateTime sampleReceiveTime;
|
||||
|
||||
@Schema(description = "库位编码")
|
||||
private String warehouseLocationCode;
|
||||
|
||||
@Schema(description = "仓库名称")
|
||||
private String warehouseName;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
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 java.math.BigDecimal;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@@ -47,6 +47,9 @@ public class BusinessSubSamplePageReqVO extends PageParam {
|
||||
@Schema(description = "归库编号")
|
||||
private String sampleReturnCode;
|
||||
|
||||
@Schema(description = "是否已经生成归库编号,1-已生成,0-未生成")
|
||||
private Integer isGenerateReturnCode;
|
||||
|
||||
@Schema(description = "是否称重,1-启用,0-不启用")
|
||||
private Integer isWeighing;
|
||||
|
||||
@@ -99,6 +102,9 @@ public class BusinessSubSamplePageReqVO extends PageParam {
|
||||
@Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2")
|
||||
private String returnStatus;
|
||||
|
||||
@Schema(description = "调拨状态")
|
||||
private String dispatchStatus;
|
||||
|
||||
@Schema(description = "打印次数", example = "32651")
|
||||
private Integer returnCodePrintCount;
|
||||
|
||||
@@ -128,4 +134,31 @@ public class BusinessSubSamplePageReqVO extends PageParam {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
//=======================================扩展字段=======================================
|
||||
|
||||
@Schema(description = "分析部门id")
|
||||
private Long assayDepartmentId;
|
||||
|
||||
@Schema(description = "分析部门名称")
|
||||
private String assayDepartmentName;
|
||||
|
||||
@Schema(description = "分析部门状态")
|
||||
private String assayDepartmentStatus;
|
||||
|
||||
@Schema(description = "是否已送样")
|
||||
private Integer isSendSample;
|
||||
|
||||
@Schema(description = "样品流程节点KEY列表")
|
||||
private List<String> sampleFlowNodeKeyList;
|
||||
|
||||
@Schema(description = "库位编码")
|
||||
private String warehouseLocationCode;
|
||||
|
||||
@Schema(description = "仓库编码")
|
||||
private String warehouseCode;
|
||||
|
||||
//是否过滤已申请调拨的数据: 1-是, 其他值:否
|
||||
@Schema(description = "是否过滤已申请调拨的数据")
|
||||
private String hideDispatchData;
|
||||
|
||||
}
|
||||
@@ -47,6 +47,9 @@ public class BusinessSubSampleReqVO {
|
||||
@Schema(description = "归库编号")
|
||||
private String sampleReturnCode;
|
||||
|
||||
@Schema(description = "是否已经生成归库编号,1-已生成,0-未生成")
|
||||
private Integer isGenerateReturnCode;
|
||||
|
||||
@Schema(description = "是否称重,1-启用,0-不启用")
|
||||
private Integer isWeighing;
|
||||
|
||||
@@ -99,6 +102,9 @@ public class BusinessSubSampleReqVO {
|
||||
@Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2")
|
||||
private String returnStatus;
|
||||
|
||||
@Schema(description = "调拨状态")
|
||||
private String dispatchStatus;
|
||||
|
||||
@Schema(description = "打印次数", example = "32651")
|
||||
private Integer returnCodePrintCount;
|
||||
|
||||
@@ -128,4 +134,29 @@ public class BusinessSubSampleReqVO {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
//=======================================扩展字段=======================================
|
||||
|
||||
@Schema(description = "分析部门id")
|
||||
private Long assayDepartmentId;
|
||||
|
||||
@Schema(description = "分析部门名称")
|
||||
private String assayDepartmentName;
|
||||
|
||||
@Schema(description = "分析部门状态")
|
||||
private String assayDepartmentStatus;
|
||||
|
||||
@Schema(description = "样品流程节点KEY列表")
|
||||
private List<String> sampleFlowNodeKeyList;
|
||||
|
||||
@Schema(description = "库位编码")
|
||||
private String warehouseLocationCode;
|
||||
|
||||
@Schema(description = "仓库编码")
|
||||
private String warehouseCode;
|
||||
|
||||
//是否过滤已申请调拨的数据: 1-是, 其他值:否
|
||||
@Schema(description = "是否过滤已申请调拨的数据")
|
||||
private String hideDispatchData;
|
||||
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user