parent
e9f135f058
commit
e2c4ae1dbd
@ -0,0 +1,15 @@ |
|||||||
|
FROM moxm/java:1.8-full |
||||||
|
|
||||||
|
RUN mkdir -p /dlp-identifyBook |
||||||
|
|
||||||
|
WORKDIR /dlp-identifyBook |
||||||
|
|
||||||
|
ARG JAR_FILE=target/dlp-identifyBook.jar |
||||||
|
|
||||||
|
COPY ${JAR_FILE} dlp-identifyBook.jar |
||||||
|
|
||||||
|
EXPOSE 5299 |
||||||
|
|
||||||
|
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom" |
||||||
|
|
||||||
|
CMD sleep 60; java -jar dlp-identifyBook.jar $JAVA_OPTS |
@ -0,0 +1,769 @@ |
|||||||
|
/* |
||||||
|
Navicat Premium Data Transfer |
||||||
|
|
||||||
|
Source Server : MariaDB |
||||||
|
Source Server Type : MariaDB |
||||||
|
Source Server Version : 100519 |
||||||
|
Source Host : localhost:3308 |
||||||
|
Source Schema : dlp_identify_book |
||||||
|
|
||||||
|
Target Server Type : MariaDB |
||||||
|
Target Server Version : 100519 |
||||||
|
File Encoding : 65001 |
||||||
|
|
||||||
|
Date: 01/09/2023 11:45:55 |
||||||
|
*/ |
||||||
|
|
||||||
|
SET NAMES utf8mb4; |
||||||
|
SET FOREIGN_KEY_CHECKS = 0; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_business_process_record |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_business_process_record`; |
||||||
|
CREATE TABLE `b_business_process_record` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务流程记录ID', |
||||||
|
`business_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '业务ID', |
||||||
|
`business_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '业务名称', |
||||||
|
`business_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '业务类型名称', |
||||||
|
`business_status` int(10) NULL DEFAULT NULL COMMENT '业务状态', |
||||||
|
`message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '意见', |
||||||
|
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', |
||||||
|
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '业务流程记录表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_case_event |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_case_event`; |
||||||
|
CREATE TABLE `b_case_event` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`case_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件编号', |
||||||
|
`third_party_sys_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '第三方系统(如现勘系统、案事件系统)编号', |
||||||
|
`case_name` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '案件名称任务名称', |
||||||
|
`case_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件类型', |
||||||
|
`happen_time` datetime(0) NULL DEFAULT NULL COMMENT '案发时间', |
||||||
|
`case_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案发地详细地点', |
||||||
|
`case_area` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案发地行政区划编码(到县一级)', |
||||||
|
`case_own_org_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件所属机构', |
||||||
|
`case_rank` int(11) NULL DEFAULT 0 COMMENT '案件级别: 0=普通案件, 1=紧急案件, 2=加急案件', |
||||||
|
`case_brief` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案情简要', |
||||||
|
`comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件备注', |
||||||
|
`data_sources` int(11) NULL DEFAULT 0 COMMENT '数据来源,表示数据是本系统自己产生,还是来自外部系统,0表示系统自身,1表示来自外部', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '案件、事件' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_case_evidence |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_case_evidence`; |
||||||
|
CREATE TABLE `b_case_evidence` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`evidence_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '本系统物证编号', |
||||||
|
`case_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '案件Id', |
||||||
|
`third_party_sys_evidence_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '第三方系统(如现勘系统、案事件系统)物证编号', |
||||||
|
`name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证名称', |
||||||
|
`type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证类别:1. 非生物性物证;2. 生物特性物证', |
||||||
|
`field_label_no` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '现场标牌号', |
||||||
|
`source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证来源', |
||||||
|
`color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证颜色', |
||||||
|
`form` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证性状', |
||||||
|
`fund_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证情况之承载物名称, 例如 棉签 2 棵, 粉末 少许', |
||||||
|
`fund_quantity` int(11) NULL DEFAULT NULL COMMENT '物证情况之承载物数量, 例如 5 颗, 3包, ', |
||||||
|
`fund_unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证情况之承载物单位, 例如 5 颗, 3包', |
||||||
|
`quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '物证数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证单位, 例如 3.8 克 或 4.5毫升', |
||||||
|
`additional_properties` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '附加属性, 如:体积3毫升,密码123,型号abc', |
||||||
|
`person_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者姓名', |
||||||
|
`person_cert` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者证件类型', |
||||||
|
`person_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者证件号', |
||||||
|
`person_gender` int(11) NULL DEFAULT NULL COMMENT '所有者性别,公安系统编码 1:男 2:女 0:未知', |
||||||
|
`person_nationality` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者国籍', |
||||||
|
`person_nation` int(11) NULL DEFAULT NULL COMMENT '所有者民族编码,公安系统编码', |
||||||
|
`person_address` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者地址', |
||||||
|
`person_age` int(11) NULL DEFAULT NULL COMMENT '所有者年龄', |
||||||
|
`pack` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '包装情况:纸袋,纸盒,纸箱,自定义', |
||||||
|
`storage_method` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '存储方法:常规,冷藏,特殊', |
||||||
|
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述', |
||||||
|
`comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
`data_sources` int(11) NULL DEFAULT 0 COMMENT '数据来源,表示数据是本系统自己产生,还是来自外部系统,0表示系统自身,1表示来自外部', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `FK1_case_id`(`case_id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '与案件相关的物证信息' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_deliverer |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_deliverer`; |
||||||
|
CREATE TABLE `b_deliverer` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`owner_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员拥有者userId', |
||||||
|
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员姓名', |
||||||
|
`position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员职务', |
||||||
|
`cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员证件名称', |
||||||
|
`idnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员证件编号', |
||||||
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检员电话', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
UNIQUE INDEX `name`(`owner_user_id`, `name`) USING BTREE, |
||||||
|
INDEX `owner_user_id`(`owner_user_id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '送检员' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_entrustment |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_entrustment`; |
||||||
|
CREATE TABLE `b_entrustment` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编号', |
||||||
|
`case_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '案件Id', |
||||||
|
`entrustment_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托编号', |
||||||
|
`third_sys_entrust_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '第三方系统中的委托编号', |
||||||
|
`entrustment_type` int(11) NULL DEFAULT 0 COMMENT '委托类型: 0=正常司法鉴定委托, 1=案前委托', |
||||||
|
`business_type` int(11) NULL DEFAULT 0 COMMENT '业务类型: 0=毒品鉴定 1=.....用于对应到各个检验小组', |
||||||
|
`process_instance_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '对应的流程实例Id', |
||||||
|
`identification_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理Id, 通过这个可以得到鉴定号', |
||||||
|
`entrustment_time` datetime(0) NULL DEFAULT NULL COMMENT '委托日期, 鉴定委托书打印日期', |
||||||
|
`submitter` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托提交者, 后期可能会转给其他人user_id', |
||||||
|
`submit_time` datetime(0) NULL DEFAULT NULL COMMENT '提交日期, 提交审核的日期', |
||||||
|
`client_org_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定委托单位编码', |
||||||
|
`client_org_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定委托单位名称', |
||||||
|
`client_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '通讯地址', |
||||||
|
`client_postcode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮政编码', |
||||||
|
`client_tel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话号码', |
||||||
|
`client_fax` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '传真号码', |
||||||
|
`identification_domain` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托鉴定专业', |
||||||
|
`identification_org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定机构名称', |
||||||
|
`qualitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定性分析', |
||||||
|
`quantitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定量分析', |
||||||
|
`other_identification_requests` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '其他鉴定要求', |
||||||
|
`candidate_drugs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '候选毒品列表(drug 对象的 json array)', |
||||||
|
`is_client_specified_method` tinyint(1) NULL DEFAULT NULL COMMENT '是否由委托方指定鉴定方法', |
||||||
|
`client_specified_method` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托方指定的鉴定方法', |
||||||
|
`destructive_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '是否有损检验:0=无损,1=有损', |
||||||
|
`other_identification_notes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检验的其他说明(鉴定事项确认书中要求, 审核人填写)', |
||||||
|
`reidentification` tinyint(1) NULL DEFAULT 0 COMMENT '是否重新鉴定:0=否,1=重新鉴定', |
||||||
|
`old_identification_org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '原鉴定机构', |
||||||
|
`old_identification_document` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '原鉴定文书', |
||||||
|
`old_identification_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '原鉴定结果', |
||||||
|
`reidentification_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '重新鉴定理由', |
||||||
|
`avoid_identifier` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '回避的鉴定人及回避事由, json 格式', |
||||||
|
`specified_identifier` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '指定鉴定人, 委托中指定鉴定人', |
||||||
|
`other_agreement` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '其它约定事项,打印在鉴定事项确认书中的\"约定->其他\"', |
||||||
|
`comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
`check_candidate_user` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '候选审核人, user_id列表, 逗号分隔', |
||||||
|
`check_claim_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核任务认领人', |
||||||
|
`check_claim_time` datetime(0) NULL DEFAULT NULL COMMENT '审核任务认领时间', |
||||||
|
`check_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '实际审核人, user_id', |
||||||
|
`check_time` datetime(0) NULL DEFAULT NULL COMMENT '审核时间', |
||||||
|
`check_comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核意见: (审批通过 审批不通过及原因)', |
||||||
|
`check_times` int(11) NOT NULL DEFAULT 0 COMMENT '审核次数记录', |
||||||
|
`check_all_identification_material_confirmed` tinyint(1) NOT NULL DEFAULT 0 COMMENT '专业全部物证检验状态: 0=未全部审核 1=已全部审核', |
||||||
|
`approve_candidate_user` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '候选审批人, user_id列表, 逗号分隔', |
||||||
|
`approve_claim_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批任务认领人', |
||||||
|
`approve_claim_time` datetime(0) NULL DEFAULT NULL COMMENT '审批任务认领时间', |
||||||
|
`approve_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '实际审批人, user_id', |
||||||
|
`approve_time` datetime(0) NULL DEFAULT NULL COMMENT '审批时间', |
||||||
|
`approve_comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批意见: (审批通过 审批不通过及原因)', |
||||||
|
`approve_times` int(11) NOT NULL DEFAULT 0 COMMENT '审批次数:该字段在审核通过时初始化, 值为0或1时代表初审, 2代表复审', |
||||||
|
`deliver_confirm_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检确认人user_id', |
||||||
|
`deliver_confirm_time` datetime(0) NULL DEFAULT NULL COMMENT '送检确认时间', |
||||||
|
`deliver_confirm_comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检确认意见', |
||||||
|
`deliver_time` datetime(0) NULL DEFAULT NULL COMMENT '送检日期', |
||||||
|
`deliver_submitter` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检操作提交用户user_id', |
||||||
|
`deliverer1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人1姓名', |
||||||
|
`deliverer1_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人1职务', |
||||||
|
`deliverer1_cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人1证件名称', |
||||||
|
`deliverer1_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人1证件编号', |
||||||
|
`deliverer1_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人1电话', |
||||||
|
`deliverer2_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人2姓名', |
||||||
|
`deliverer2_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人2职务', |
||||||
|
`deliverer2_cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人2证件名称', |
||||||
|
`deliverer2_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人2证件编号', |
||||||
|
`deliverer2_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检人2电话', |
||||||
|
`accept_claim_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理任务认领人', |
||||||
|
`accept_claim_time` datetime(0) NULL DEFAULT NULL COMMENT '受理任务认领时间', |
||||||
|
`accept_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理编号', |
||||||
|
`accept_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理人user_id', |
||||||
|
`accept_time` datetime(0) NULL DEFAULT NULL COMMENT '受理时间', |
||||||
|
`accept_comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理意见', |
||||||
|
`identification_items_confirm_printed` tinyint(4) NULL DEFAULT 0 COMMENT '鉴定事项确认书是否已经打印', |
||||||
|
`process_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检受理信息, 以 json 格式记录送检受理各环节的文字意见', |
||||||
|
`report_receive_mode` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取方式: 0=自取, 1=代领, 2=邮寄', |
||||||
|
`report_receiver1_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的 user id', |
||||||
|
`report_receiver1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的姓名', |
||||||
|
`report_receiver1_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的职务', |
||||||
|
`report_receiver1_cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的证件类型', |
||||||
|
`report_receiver1_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的证件号', |
||||||
|
`report_receiver1_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人1的电话', |
||||||
|
`report_receiver2_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的 user id', |
||||||
|
`report_receiver2_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的姓名', |
||||||
|
`report_receiver2_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的职务', |
||||||
|
`report_receiver2_cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的证件类型', |
||||||
|
`report_receiver2_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的证件号', |
||||||
|
`report_receiver2_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告领取人2的电话', |
||||||
|
`report_sender_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '报告发放人user_id(通常是受理员)', |
||||||
|
`report_sent_time` datetime(0) NULL DEFAULT NULL COMMENT '报告发放时间', |
||||||
|
`report_receiver1_signature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '报告领取人1领取报告时的签名', |
||||||
|
`report_receiver2_signature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '报告领取人2领取报告时的签名', |
||||||
|
`sample_receive_mode` int(11) NULL DEFAULT NULL COMMENT '检材领取方式: 0=自取, 1=实验室自行处理', |
||||||
|
`sample_receiver1_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '如果检材领取人1是系统用户, 记录userId', |
||||||
|
`sample_receiver1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人1姓名', |
||||||
|
`sample_receiver1_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人1职位', |
||||||
|
`sample_receiver1_cret` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人1证件类型', |
||||||
|
`sample_receiver1_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人1证件号', |
||||||
|
`sample_receiver1_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人1电话', |
||||||
|
`sample_receiver2_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '如果检材领取人2是系统用户, 记录userId', |
||||||
|
`sample_receiver2_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人2姓名', |
||||||
|
`sample_receiver2_position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人2职位', |
||||||
|
`sample_receiver2_cret` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人2证件类型', |
||||||
|
`sample_receiver2_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人2证件号', |
||||||
|
`sample_receiver2_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材领取人2电话', |
||||||
|
`sample_sender_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材发放人, 鉴定机构工作人员user_id', |
||||||
|
`sample_sent_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材发放时间', |
||||||
|
`sample_receiver1_person_signature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '检材领取人1签名', |
||||||
|
`sample_receiver2_person_signnature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '检材领取人2签名', |
||||||
|
`status` int(11) NOT NULL DEFAULT 0 COMMENT '状态', |
||||||
|
`previous_status` int(11) NULL DEFAULT NULL COMMENT '上一个状态', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`entrustment_letter_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托书pdf路径', |
||||||
|
`identification_items_confirm_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定事项确认书pdf路径', |
||||||
|
`transfer_status` int(11) NULL DEFAULT NULL COMMENT '移交状态, null、 1可移交。2已移交; 记录在另一张移交表', |
||||||
|
`transfer_oper_signnature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL, |
||||||
|
`transfer_get_signnature` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL, |
||||||
|
`transfer_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, |
||||||
|
`transfer_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, |
||||||
|
`accept_need_professional` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'x需要专业人员受理: 0=不需要 1=需要', |
||||||
|
`data_sources` int(11) NULL DEFAULT 0 COMMENT '数据来源,表示数据是本系统自己产生,还是来自外部系统,0表示系统自身,1表示来自外部', |
||||||
|
`accept_no_third_sys` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '第三方系统的受理编号', |
||||||
|
`entrust_requirement` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定要求', |
||||||
|
`post_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮寄地址', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `idx_case_id`(`case_id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '委托' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_entrustment_bundle |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_entrustment_bundle`; |
||||||
|
CREATE TABLE `b_entrustment_bundle` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'entrustment_id', |
||||||
|
`selected_experiment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '\'[]\'' COMMENT '选中的实验, 实验id的json数组', |
||||||
|
`approval_result` tinyint(1) NULL DEFAULT NULL COMMENT '审核审批结果: null=未审, 0=审核审批未通过, 1=审核审批已通过', |
||||||
|
`submit_date` date NULL DEFAULT NULL COMMENT '提交给文书系统的日期', |
||||||
|
`status` int(11) NOT NULL DEFAULT 0 COMMENT '状态: 0=刚创建, 1=已提交给文书系统, 2=文书审核审批通过, 3=已通知委托系统', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '委托与实验关系' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_entrustment_identification_material |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_entrustment_identification_material`; |
||||||
|
CREATE TABLE `b_entrustment_identification_material` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '检材id', |
||||||
|
`im_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材编号', |
||||||
|
`evidence_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '物证id', |
||||||
|
`case_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件id', |
||||||
|
`entrustment_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托id', |
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材名称', |
||||||
|
`type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材类别:继承所取物证的类别或从物证类别选择', |
||||||
|
`type_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材类别名称:继承所取物证的类别或从物证类别选择', |
||||||
|
`color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材颜色:继承所取物证颜色或手动填入', |
||||||
|
`form` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材性状:继承所取物证性状或从物证性状类别选择', |
||||||
|
`form_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材性状:继承所取物证性状或从物证性状类别选择', |
||||||
|
`fund_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许', |
||||||
|
`fund_quantity` int(11) NULL DEFAULT NULL COMMENT '检材情况之承载物数量, 例如 5 颗, 3包', |
||||||
|
`fund_unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材情况之承载物单位, 例如 5 颗, 3包', |
||||||
|
`quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '检材数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '计量单位, 例如 3.8 克 或 4.5毫升', |
||||||
|
`additional_properties` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '附加属性, 如:体积3毫升,密码123,型号abc', |
||||||
|
`draw_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提取方法', |
||||||
|
`person_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者姓名', |
||||||
|
`person_cert` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者证件类型', |
||||||
|
`person_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者证件号', |
||||||
|
`person_gender` int(11) NULL DEFAULT 0 COMMENT '所有者性别,公安系统编码: 1=男 2=女 0=未知', |
||||||
|
`person_nationality` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者国籍', |
||||||
|
`person_nation` int(11) NULL DEFAULT NULL COMMENT '所有者民族编码,公安系统编码', |
||||||
|
`person_address` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者地址', |
||||||
|
`person_age` int(11) NULL DEFAULT NULL COMMENT '所有者年龄', |
||||||
|
`take1_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人1姓名', |
||||||
|
`take1_position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人1职务', |
||||||
|
`take1_cert` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人1证件名称', |
||||||
|
`take1_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人1证件号', |
||||||
|
`take1_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人1联系电话', |
||||||
|
`take2_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人2姓名', |
||||||
|
`take2_position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人2职务', |
||||||
|
`take2_cert` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人2证件名称', |
||||||
|
`take2_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人2证件号', |
||||||
|
`take2_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集人2联系电话', |
||||||
|
`take_time` datetime(0) NULL DEFAULT NULL COMMENT '采集日期', |
||||||
|
`witness_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '见证人姓名', |
||||||
|
`witness_cert` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '见证人证件名称', |
||||||
|
`witness_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '见证人证件号', |
||||||
|
`pack` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '包装情况:纸袋,纸盒,纸箱,自定义', |
||||||
|
`pack_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '包装情况名称:纸袋,纸盒,纸箱,自定义', |
||||||
|
`storage_method` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '存储方法:常规,冷藏,特殊', |
||||||
|
`candidate_drugs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '候选毒品列表(drug 对象的 json array)', |
||||||
|
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '检材概要', |
||||||
|
`check_time` datetime(0) NULL DEFAULT NULL COMMENT '审核时间', |
||||||
|
`check_passed` int(11) NULL DEFAULT 0 COMMENT '审核是否通过: 1=审核通过', |
||||||
|
`approve_time` datetime(0) NULL DEFAULT NULL COMMENT '审批时间', |
||||||
|
`approve_passed` int(11) NULL DEFAULT 0 COMMENT '审批是否通过: 1=审批通过', |
||||||
|
`accept_time` datetime(0) NULL DEFAULT NULL COMMENT '受理时间', |
||||||
|
`accept_passed` int(11) NULL DEFAULT 0 COMMENT '是否受理: 0=未受理, 1=已受理, -1=不予受理', |
||||||
|
`provided_sample1_present` tinyint(1) NULL DEFAULT 1 COMMENT '提供的样本1是否存在, 应该总是存在', |
||||||
|
`provided_sample1_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提供的样本1编号', |
||||||
|
`provided_sample1_fund_quantity` int(11) NULL DEFAULT NULL COMMENT '提供的样本1承载物数量(重量), 例如 5颗, 3包', |
||||||
|
`provided_sample1_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '提供的样本1数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`provided_sample2_present` tinyint(1) NULL DEFAULT 0 COMMENT '提供的样本2是否存在', |
||||||
|
`provided_sample2_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提供的样本2编号', |
||||||
|
`provided_sample2_fund_quantity` int(11) NULL DEFAULT NULL COMMENT '提供的样本2承载物数量(重量), 例如 5颗, 3包', |
||||||
|
`provided_sample2_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '提供的样本2数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`splited_sample` tinyint(1) NULL DEFAULT 0 COMMENT '是否已分样: 0=未分样, 1=已分样', |
||||||
|
`sample1_present` tinyint(1) NULL DEFAULT 1 COMMENT '样本1是否存在, 应该总是存在', |
||||||
|
`sample1_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本1编号', |
||||||
|
`sample1_fund_quantity` int(11) NULL DEFAULT NULL COMMENT '样本1承载物数量(重量), 例如 5颗, 3包', |
||||||
|
`sample1_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '样本1数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`sample1_box_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本1盒子 id', |
||||||
|
`sample2_present` tinyint(1) NULL DEFAULT 0 COMMENT '样本2是否存在', |
||||||
|
`sample2_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本2编号', |
||||||
|
`sample2_fund_quantity` int(11) NULL DEFAULT NULL COMMENT '样本2承载物数量(重量), 例如 5颗, 3包', |
||||||
|
`sample2_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '样本2数量, 例如 3.8 克 或 4.5毫升', |
||||||
|
`sample2_box_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本2盒子 id', |
||||||
|
`sample1_repeat_weigh` decimal(10, 4) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '样本1的复秤重量', |
||||||
|
`sample2_repeat_weigh` decimal(10, 4) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '样本2的复秤重量', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`analysis_option` int(11) NULL DEFAULT NULL COMMENT '分析项目,代替原来的定性分析,定量分析字段 1.定性分析 2.定量分析 3.定性定量分析 4.关联性判断 5。其他', |
||||||
|
`qualitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定性分析', |
||||||
|
`quantitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定量分析', |
||||||
|
`data_sources` int(11) NULL DEFAULT 0 COMMENT '数据来源,表示数据是本系统自己产生,还是来自外部系统,0表示系统自身,1表示来自外部', |
||||||
|
`accept_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材的受理编号', |
||||||
|
`order_no` int(11) NULL DEFAULT NULL COMMENT '委托检材顺序号', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `idx_case_id`(`case_id`) USING BTREE, |
||||||
|
INDEX `idx_evidence_id`(`evidence_id`) USING BTREE, |
||||||
|
INDEX `idx_evidence_no`(`im_no`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '检材信息' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_experiment |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_experiment`; |
||||||
|
CREATE TABLE `b_experiment` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`method_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检验方法id', |
||||||
|
`template_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模板id', |
||||||
|
`business` int(11) NULL DEFAULT NULL COMMENT '业务类型,字典中的dlp.identification.business项', |
||||||
|
`name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '实验名称', |
||||||
|
`op_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检验人员id', |
||||||
|
`status` int(11) NULL DEFAULT 0 COMMENT '状态: 0=准备中; 1=实验中; 2=实验结束; -1=实验中止', |
||||||
|
`finish_date` date NULL DEFAULT NULL COMMENT '实验完成日期', |
||||||
|
`comments` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注说明', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `create_time`(`create_time`) USING BTREE, |
||||||
|
INDEX `create_by`(`create_by`) USING BTREE, |
||||||
|
INDEX `template_id`(`template_id`) USING BTREE, |
||||||
|
INDEX `op_user_id`(`op_user_id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '实验(检验方法的实例)' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_hair_job |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_hair_job`; |
||||||
|
CREATE TABLE `b_hair_job` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`root_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '根任务id', |
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务名称', |
||||||
|
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务内容描述说明', |
||||||
|
`job_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务编号', |
||||||
|
`job_issue_org` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务发布单位', |
||||||
|
`job_exec_org` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务执行单位', |
||||||
|
`job_from` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务来源', |
||||||
|
`expiration_date` datetime(0) NULL DEFAULT NULL COMMENT '任务截止日期', |
||||||
|
`start_date` datetime(0) NULL DEFAULT NULL COMMENT '任务开始日期', |
||||||
|
`comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务备注', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`job_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务类型: 毛发检测/污水检测...', |
||||||
|
`xxxjob_identify_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'xxx任务检测类型: 毛发检测:社区戒毒人员检测、公职人员、招考人员。/污水检测:污水处理厂、自然水体、其它水体。...', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '毛发检测任务' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_hair_job_identification_material |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_hair_job_identification_material`; |
||||||
|
CREATE TABLE `b_hair_job_identification_material` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '检材id', |
||||||
|
`job_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务id', |
||||||
|
`job_root_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '根任务id', |
||||||
|
`im_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材编号', |
||||||
|
`sample1_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'A样编号', |
||||||
|
`sample2_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'B样编号', |
||||||
|
`sample1_box_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'A样盒子', |
||||||
|
`sample2_box_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'B样盒子', |
||||||
|
`person_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者姓名', |
||||||
|
`person_card` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所有者身份证号', |
||||||
|
`person_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '人员类别', |
||||||
|
`project_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '项目名称', |
||||||
|
`execution_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '社区戒毒人员在社区执行时间是否超过 6 个月', |
||||||
|
`drug_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '曾经吸毒种类', |
||||||
|
`collector` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采样人', |
||||||
|
`collector_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采样单位', |
||||||
|
`collect_time` datetime(0) NULL DEFAULT NULL COMMENT '采样时间', |
||||||
|
`collect_place` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采样地点', |
||||||
|
`supervisor` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '监督人员', |
||||||
|
`accept_time` datetime(0) NULL DEFAULT NULL COMMENT '受理时间', |
||||||
|
`accept_passed` int(11) NULL DEFAULT NULL COMMENT '受理是否通过: 0=未受理, 1=受理通过, -1=受理被拒绝', |
||||||
|
`comments` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材名称', |
||||||
|
`quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '检材数量', |
||||||
|
`sample1_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT 'A样数量', |
||||||
|
`sample2_quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT 'B样数量', |
||||||
|
`unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '计量单位', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `idx_evidence_no`(`im_no`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '毛发任务的检材信息' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_identification |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_identification`; |
||||||
|
CREATE TABLE `b_identification` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`identification_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定号,受理号', |
||||||
|
`status` int(11) NOT NULL DEFAULT 0 COMMENT '状态: 0=鉴定中,-1=已终止, 1=已结束', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人' |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '鉴定表,一个鉴定可能会有多个委托' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_identification_process |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_identification_process`; |
||||||
|
CREATE TABLE `b_identification_process` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '委托ID', |
||||||
|
`inspection_process` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检验过程', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '检验过程' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_identify_book |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_identify_book`; |
||||||
|
CREATE TABLE `b_identify_book` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书消息ID', |
||||||
|
`identify_book_relevance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '父ID', |
||||||
|
`bucket_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '桶名称', |
||||||
|
`path` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书路径', |
||||||
|
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书文件名(文件名命名规则:鉴定文书 + \"版本号\") ', |
||||||
|
`version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书版本号(示例:v1.0、v1.1)', |
||||||
|
`remarks` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
INDEX `identify_book_relevance001`(`identify_book_relevance_id`) USING BTREE, |
||||||
|
CONSTRAINT `identify_book_relevance001` FOREIGN KEY (`identify_book_relevance_id`) REFERENCES `b_identify_book_relevance` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '鉴定文书消息表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_identify_book_approve |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_identify_book_approve`; |
||||||
|
CREATE TABLE `b_identify_book_approve` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鉴定文书审核审批ID', |
||||||
|
`relevance_business_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '业务ID', |
||||||
|
`year` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '年', |
||||||
|
`serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '序号', |
||||||
|
`annex_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '附件类型集合(1:检验记录(含原始记录,检验图表)、2:鉴定事项确认书、3:鉴定委托书或鉴定聘请书、4:检材照片、5:送检人证件复印件、6:原鉴定文书)', |
||||||
|
`book_type` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文书类型:(1:检验报告,2:其它)', |
||||||
|
`inspection_report_number` int(10) NULL DEFAULT NULL COMMENT '检验报告数量(单位:份)', |
||||||
|
`other_number` int(10) NULL DEFAULT NULL COMMENT '其它数量(单位:份)', |
||||||
|
`is_qualified` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '是否合格(1:检验方法、2:检验过程、3:检验图谱、4:检验结果)', |
||||||
|
`process_user_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核人ID', |
||||||
|
`process_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核人', |
||||||
|
`process_time` datetime(0) NULL DEFAULT NULL COMMENT '审核时间', |
||||||
|
`process_message` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核意见', |
||||||
|
`approve_user_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批人ID', |
||||||
|
`approve_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批人', |
||||||
|
`approve_time` datetime(0) NULL DEFAULT NULL COMMENT '审批时间', |
||||||
|
`approve_message` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批意见', |
||||||
|
`path` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书审批记录文件路径', |
||||||
|
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书文件名(文件名命名规则:鉴定文书 + \"版本号\"+\"文件类型\") ', |
||||||
|
`version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '版本号', |
||||||
|
`remarks` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '鉴定文书审核审批表 ' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_identify_book_relevance |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_identify_book_relevance`; |
||||||
|
CREATE TABLE `b_identify_book_relevance` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`relevance_business_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关联业务ID', |
||||||
|
`year` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '年份', |
||||||
|
`serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流水号', |
||||||
|
`book_status` int(10) NOT NULL COMMENT '鉴定文书业务状态(-1:待制作,0:已制作/重新制作,1:鉴定文书-提交审核,2:鉴定文书-审核通过),-2:鉴定文书-审核未通过,3:鉴定文书-审核退回修改,4:鉴定文书-审批签发成功,-4:鉴定文书-审批拒绝签发,5:鉴定文书-审批签发退回修改,6:鉴定文书-已领取', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '鉴定文书关联中间表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_modify_supplement_apply |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_modify_supplement_apply`; |
||||||
|
CREATE TABLE `b_modify_supplement_apply` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '鉴定文书修改补充申请ID', |
||||||
|
`year` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '年', |
||||||
|
`serial_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流水号', |
||||||
|
`entrustment_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托ID', |
||||||
|
`entrust_dept_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托单位', |
||||||
|
`identify_book_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书编号', |
||||||
|
`entrust_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托人ID', |
||||||
|
`entrust_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托人姓名', |
||||||
|
`apply_time` datetime(0) NULL DEFAULT NULL COMMENT '申请时间', |
||||||
|
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人ID', |
||||||
|
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', |
||||||
|
`update_reason` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改原因', |
||||||
|
`update_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '修改内容', |
||||||
|
`entrust_by_sign` longblob NULL COMMENT '委托人签名', |
||||||
|
`entrust_by_sign_date` datetime(0) NULL DEFAULT NULL COMMENT '委托人签名日期', |
||||||
|
`update_way` int(10) NULL DEFAULT NULL COMMENT '修改方式(1:修改存档文件、2:收回原件,重新出具鉴定文书)', |
||||||
|
`update_by_sign` longblob NULL COMMENT '修改人签字', |
||||||
|
`update_by_sign_date` datetime(0) NULL DEFAULT NULL COMMENT '修改人签字日期', |
||||||
|
`status` int(10) NULL DEFAULT 0 COMMENT '业务状态(1:鉴定文书-提交修改补充申请,2:鉴定文书-修改补充-审核通过,-2:鉴定文书-修改补充-审核未通过,3:鉴定文书-修改补充-审批通过,-3:鉴定文书-修改补充-审批通过)', |
||||||
|
`empower_by_sign` longblob NULL COMMENT '授权人签字', |
||||||
|
`empower_by_sign_date` datetime(0) NULL DEFAULT NULL COMMENT '授权人签字日期', |
||||||
|
`empower_by_sign_opinion` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '授权签字人意见', |
||||||
|
`technology_by_sign` longblob NULL COMMENT '技术人员签字', |
||||||
|
`technology_by_sign_date` datetime(0) NULL DEFAULT NULL COMMENT '技术人员签字日期', |
||||||
|
`technology_by_sign_opinion` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '技术人员签字意见', |
||||||
|
`path` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书修改/申请文件路径', |
||||||
|
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定文书修改/申请文件名(文件名命名规则:鉴定文书 + \"版本号\"+\"文件类型\") ', |
||||||
|
`remarks` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '鉴定文书修改补充申请表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_receive_identify_book |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_receive_identify_book`; |
||||||
|
CREATE TABLE `b_receive_identify_book` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '领取ID', |
||||||
|
`relevance_business_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联业务ID', |
||||||
|
`receive_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '领取方式', |
||||||
|
`recipients_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '领取人ID', |
||||||
|
`recipients_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '领取人姓名', |
||||||
|
`recipients_time` datetime(0) NULL DEFAULT NULL COMMENT '领取人时间', |
||||||
|
`operator_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '经办人ID', |
||||||
|
`operator_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '经办人姓名', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '领取鉴定文书信息表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_result_entrustment_qualitative |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_result_entrustment_qualitative`; |
||||||
|
CREATE TABLE `b_result_entrustment_qualitative` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`experiment_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '实验id', |
||||||
|
`sample_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, |
||||||
|
`sample_no` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本编号,字符串,必填,长度 200', |
||||||
|
`material_index` int(11) NOT NULL DEFAULT 0 COMMENT '检材序号, 通常是受理的序号', |
||||||
|
`short_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本的简要名称', |
||||||
|
`compound` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '化合物,必填,长度 200', |
||||||
|
`result` tinyint(1) NULL DEFAULT NULL COMMENT 'negative:未检出,positive:检出', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `idx_experiment_id`(`experiment_id`) USING BTREE, |
||||||
|
INDEX `sample_no`(`sample_no`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '委托定性分析检验结果' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_result_entrustment_ration |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_result_entrustment_ration`; |
||||||
|
CREATE TABLE `b_result_entrustment_ration` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`experiment_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '实验id', |
||||||
|
`sample_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, |
||||||
|
`sample_no` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本编号,字符串,必填,长度 200', |
||||||
|
`material_index` int(11) NOT NULL DEFAULT 0 COMMENT '检材序号, 通常是受理的序号', |
||||||
|
`compound` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '化合物,必填,长度 200', |
||||||
|
`result` double NULL DEFAULT NULL COMMENT '定量结果,必填,长度12, 精度8', |
||||||
|
`comments` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注说明', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `experiment_id`(`experiment_id`) USING BTREE, |
||||||
|
INDEX `sample_no`(`sample_no`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '委托定量检验结果' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_sample |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_sample`; |
||||||
|
CREATE TABLE `b_sample` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '样本id', |
||||||
|
`identification_material_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '检材id, 对应委托的检材id或毛发任务的检材id或污水任务的检材id', |
||||||
|
`sample_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本编号', |
||||||
|
`source` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '样本来源: entrustment/hairJob/sewageJob/....', |
||||||
|
`entrustment_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '委托id', |
||||||
|
`sewage_job_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '污水任务id', |
||||||
|
`hair_job_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '毛发任务id', |
||||||
|
`qualitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定性分析', |
||||||
|
`quantitative_analysis` tinyint(1) NULL DEFAULT 1 COMMENT '定量分析', |
||||||
|
`candidate_drugs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '候选毒品列表(drug 对象的 json array)', |
||||||
|
`fund_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许', |
||||||
|
`fund_quantity` int(11) NULL DEFAULT NULL COMMENT '检材情况之承载物数量, 如 3 颗 或 1包', |
||||||
|
`fund_unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检材情况之承载物单位, 例如 5 颗, 3包', |
||||||
|
`quantity` decimal(10, 4) NULL DEFAULT NULL COMMENT '样品数量, 例如 2.3 克 或 3.1 毫升', |
||||||
|
`unit` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '计量单位, 例如 3.8 克 或 4.5毫升', |
||||||
|
`additional_properties` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '附加属性, 如:体积3毫升,密码123,型号abc', |
||||||
|
`draw_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提取方法', |
||||||
|
`box_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '盒子编号', |
||||||
|
`sample_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'A样还是B样', |
||||||
|
`storage_method` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '存储方法:常规,冷藏,特殊', |
||||||
|
`accept_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '受理时间, 相当于检验开始时间, 用于比对花了多少时间在检验上', |
||||||
|
`status` int(11) NULL DEFAULT NULL COMMENT '状态: 0=已受理,等分配, 1=已分配到检验人员, 2=检验完成', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`holder` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '当前持有者', |
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样本名称', |
||||||
|
`org_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '送检单位ID', |
||||||
|
`accept_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '受理编号', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '检验用的样本' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_taker |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_taker`; |
||||||
|
CREATE TABLE `b_taker` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, |
||||||
|
`owner_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员拥有者userId', |
||||||
|
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员姓名', |
||||||
|
`position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员职务', |
||||||
|
`cert` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员证件名称', |
||||||
|
`idnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员证件编号', |
||||||
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '采集员电话', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
PRIMARY KEY (`id`) USING BTREE, |
||||||
|
INDEX `owner_user_id`(`owner_user_id`) USING BTREE, |
||||||
|
INDEX `taker_name`(`name`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '采集员' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for b_task_notification |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `b_task_notification`; |
||||||
|
CREATE TABLE `b_task_notification` ( |
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '消息ID', |
||||||
|
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '消息标题', |
||||||
|
`type` int(10) NULL DEFAULT NULL COMMENT '任务类型(1:鉴定文书-审核,2:鉴定文书-审核退回修改,3:鉴定文书-审批,4:鉴定文书-审批退回修改,5:鉴定文书-签发/领取,6:鉴定文书修改/补充-审核,7:鉴定文书修改/补充-审批)', |
||||||
|
`business_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '业务ID', |
||||||
|
`submitter_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提交人ID', |
||||||
|
`submitter_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提交人姓名', |
||||||
|
`submitter_time` datetime(0) NULL DEFAULT NULL COMMENT '提交日期', |
||||||
|
`accept_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '鉴定编号', |
||||||
|
`case_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '案件名称', |
||||||
|
`content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '消息内容', |
||||||
|
`transaction_personnel_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '处理人员ID', |
||||||
|
`transaction_personnel_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '办理人姓名', |
||||||
|
`permission_group` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '办理人权限组', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`status` int(10) NULL DEFAULT 0 COMMENT '处理状态(0: 待处理,1:已处理,2:退回修改,-1:未通过)', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '任务信息表' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
-- ---------------------------- |
||||||
|
-- Table structure for examination_methods |
||||||
|
-- ---------------------------- |
||||||
|
DROP TABLE IF EXISTS `examination_methods`; |
||||||
|
CREATE TABLE `examination_methods` ( |
||||||
|
`id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '方法实体类id', |
||||||
|
`method_name` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '方法名', |
||||||
|
`method_basis` int(5) NULL DEFAULT NULL COMMENT '方法依据', |
||||||
|
`method_English_name` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '方法英文名', |
||||||
|
`standard_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标准号', |
||||||
|
`publishing_unit` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发布单位', |
||||||
|
`publishing_time` datetime(0) NULL DEFAULT NULL COMMENT '发布时间', |
||||||
|
`others` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '其他依据', |
||||||
|
`implement_time` datetime(0) NULL DEFAULT NULL COMMENT '实施时间', |
||||||
|
`suit_range` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '适用范围', |
||||||
|
`normative_references` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '规范性引用文件', |
||||||
|
`term_and_definition` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '术语和定义', |
||||||
|
`principle` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '原理', |
||||||
|
`method_status` int(5) NULL DEFAULT NULL COMMENT '方法当前状态', |
||||||
|
`method_type` int(5) NULL DEFAULT NULL COMMENT '方法类型(标准/非标准)', |
||||||
|
`reagent` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '试剂', |
||||||
|
`instruments_and_equipment` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '仪器和设备', |
||||||
|
`quantitative_result_evaluation` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '定量结果评价', |
||||||
|
`operation_method` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '操作方法', |
||||||
|
`guidelines_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指导书id', |
||||||
|
`expression_of_results` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '结果表述', |
||||||
|
`review_time` datetime(0) NULL DEFAULT NULL COMMENT '评审时间', |
||||||
|
`reviewer` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评审人', |
||||||
|
`review_results` int(5) NULL DEFAULT NULL COMMENT '评审结果', |
||||||
|
`review_opinion` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评审意见', |
||||||
|
`create_time` datetime(0) NULL DEFAULT current_timestamp COMMENT '创建时间--录入时间', |
||||||
|
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人--录入人', |
||||||
|
`update_time` datetime(0) NULL DEFAULT current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', |
||||||
|
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', |
||||||
|
`annex_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件url', |
||||||
|
`annex_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件名称', |
||||||
|
PRIMARY KEY (`id`) USING BTREE |
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '检验方法' ROW_FORMAT = Dynamic; |
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1; |
@ -0,0 +1,17 @@ |
|||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60000', 'root', '鉴定文书管理', '', 60000, 2, '鉴定文书管理', '/book', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:28:23', NULL); |
||||||
|
-- START 鉴定文书制作审核审批签发 -- |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60100', '60000', '鉴定文书制作/审核/审批/领取管理', '', 60100, 1, '鉴定文书制作/审核/审批/领取管理', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60110', '60100', '鉴定文书制作/修改', 'IdentifyBookProductionRrSubmissionProcess', 60110, 1, '文书制作/修改(实验人员)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60120', '60100', '鉴定文书审核', 'IdentifyBookSH', 60120, 1, '鉴定文书审核(授权签字人)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60130', '60100', '鉴定文书审批', 'IdentifyBookSP', 60130, 1, '鉴定文书审批(主任)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60140', '60100', '鉴定文书签发/领取', 'IdentifyBookQF', 60140, 1, '鉴定文书签发/领取(实验人员)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
|
||||||
|
-- END 鉴定文书制作审核审批 -- |
||||||
|
|
||||||
|
-- START 鉴定文书修改补充申请/审核/审批 -- |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60200', '60000', '鉴定文书修改补充申请/审核/审批管理', '', 60200, 1, '鉴定文书修改补充申请/审核/审批管理', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60210', '60200', '鉴定文修改补充申请/提交', 'IdentifyBookModificationAndSupplementationSQ', 60210, 1, '鉴定文修改补充申请/提交(实验人员)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60220', '60200', '鉴定文书修改补充审核', 'IdentifyBookModificationAndSupplementationSH', 60220, 1, '鉴定文书修改补充审核(授权签字人)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
INSERT INTO `dlp_base`.`sys_permission`(`permission_id`, `parent_id`, `name`, `permission`, `sort`, `type`, `comments`, `path`, `icon`, `keep_alive`, `component`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('60230', '60200', '鉴定文书修改补充审批', 'IdentifyBookModificationAndSupplementationSP', 60230, 1, '鉴定文书修改补充审批(主任)', '', 'icon-guanwangfangwen', '0', NULL, '2023-08-25 14:28:23', NULL, '2023-08-25 14:46:29', NULL); |
||||||
|
-- END 鉴定文书修改补充申请/审核/审批 -- |
||||||
|
|
@ -0,0 +1,3 @@ |
|||||||
|
INSERT INTO `dlp_base`.`sys_dictionary`(`id`, `module`, `type`, `sort`, `code`, `label`, `css_class`, `list_class`, `default_value`, `description`, `comments`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('dlp.entrustment.identifyBookApproveTemplate', NULL, 'dlp.entrustment', 0, 'identifyBookApproveTemplate', 'NADL-Shaanxi-CX-22-01-2021鉴定文书审批表001.doc', NULL, NULL, 1, NULL, '鉴定文书审批模板', '2021-12-27 17:22:32', '1', '2023-05-26 00:56:13', '1'); |
||||||
|
INSERT INTO `dlp_base`.`sys_dictionary`(`id`, `module`, `type`, `sort`, `code`, `label`, `css_class`, `list_class`, `default_value`, `description`, `comments`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('dlp.entrustment.identifyBookModifySupplementApplyTemplate', NULL, 'dlp.entrustment', 0, 'identifyBookModifySupplementApplyTemplate', 'NADL-Shaanxi-CX-22-02-2021鉴定文书修改补充申请表001.doc', NULL, NULL, 1, NULL, '鉴定文书修改补充申请模板', '2021-12-27 17:22:32', '1', '2023-05-26 00:56:13', '1'); |
||||||
|
INSERT INTO `dlp_base`.`sys_dictionary`(`id`, `module`, `type`, `sort`, `code`, `label`, `css_class`, `list_class`, `default_value`, `description`, `comments`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('dlp.entrustment.identifyBookTemplate', NULL, 'dlp.entrustment', 0, 'identifyBookTemplate', 'NADL-Shaanxi-CX-22-03-2021国家毒品实验室检验鉴定报告文号和格式模板001.docx', NULL, NULL, 1, NULL, '鉴定文书模板', '2021-12-27 17:22:32', '1', '2023-05-26 00:56:09', '1'); |
@ -0,0 +1,269 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||||
|
<modelVersion>4.0.0</modelVersion> |
||||||
|
<parent> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>DigitalLaboratoryPlatform</artifactId> |
||||||
|
<version>2022.10.11-snapshots</version> |
||||||
|
</parent> |
||||||
|
<artifactId>dlp-identifyBook</artifactId> |
||||||
|
<packaging>jar</packaging> |
||||||
|
<description>DLP 鉴定文书管理系统</description> |
||||||
|
<properties> |
||||||
|
<maven.compiler.target>1.8</maven.compiler.target> |
||||||
|
<maven.compiler.source>1.8</maven.compiler.source> |
||||||
|
<junit.version>5.7.1</junit.version> |
||||||
|
<dlp.version>2022.10.11-snapshots</dlp.version> |
||||||
|
</properties> |
||||||
|
|
||||||
|
<dependencies> |
||||||
|
<!--注册中心客户端--> |
||||||
|
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery --> |
||||||
|
<dependency> |
||||||
|
<groupId>com.alibaba.cloud</groupId> |
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
||||||
|
<version>2021.1</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--配置中心客户端--> |
||||||
|
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-config --> |
||||||
|
<dependency> |
||||||
|
<groupId>com.alibaba.cloud</groupId> |
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
||||||
|
<version>2021.1</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!-- swagger --> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-swagger</artifactId> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<dependency> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-starter-web</artifactId> |
||||||
|
<version>2.5.5</version> |
||||||
|
</dependency> |
||||||
|
<!--断路器依赖--> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-feign</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--security--> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-security</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--JDBC相关--> |
||||||
|
<dependency> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-starter-jdbc</artifactId> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-starter-test</artifactId> |
||||||
|
<scope>test</scope> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--core 工具类--> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-core</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 数据库 mysql依赖 --> |
||||||
|
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> |
||||||
|
<dependency> |
||||||
|
<groupId>mysql</groupId> |
||||||
|
<artifactId>mysql-connector-java</artifactId> |
||||||
|
<version>8.0.28</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--undertow容器--> |
||||||
|
<dependency> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-starter-undertow</artifactId> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!-- log --> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-log</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-oss</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!-- 业务数据的依赖 --> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-admin-api</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-remote-word2pdf</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
<scope>compile</scope> |
||||||
|
</dependency> |
||||||
|
<!-- 鉴定数据依赖 --> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-common-remote-identification</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
<!--检验系统的数据接口--> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-drugtesting-api</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
<!-- TODO poi-tl word 模板处理器 http://deepoove.com/poi-tl --> |
||||||
|
<dependency> |
||||||
|
<groupId>com.deepoove</groupId> |
||||||
|
<artifactId>poi-tl</artifactId> |
||||||
|
<version>1.12.0</version> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>commons-io</groupId> |
||||||
|
<artifactId>commons-io</artifactId> |
||||||
|
<version>2.11.0</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<dependency> |
||||||
|
<groupId>fr.opensagres.xdocreport</groupId> |
||||||
|
<artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId> |
||||||
|
<version>2.0.3</version> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!--QR Code--> |
||||||
|
<dependency> |
||||||
|
<groupId>com.google.zxing</groupId> |
||||||
|
<artifactId>core</artifactId> |
||||||
|
<version>3.5.0</version> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.google.zxing</groupId> |
||||||
|
<artifactId>javase</artifactId> |
||||||
|
<version>3.5.0</version> |
||||||
|
</dependency> |
||||||
|
<dependency> |
||||||
|
<groupId>com.googlecode.json-simple</groupId> |
||||||
|
<artifactId>json-simple</artifactId> |
||||||
|
<version>1.1</version> |
||||||
|
</dependency> |
||||||
|
<!--aspose 破解 word转pdf--> |
||||||
|
<dependency> |
||||||
|
<groupId>com.aspose</groupId> |
||||||
|
<artifactId>aspose-words</artifactId> |
||||||
|
<version>1.0.1</version> |
||||||
|
</dependency> |
||||||
|
<!-- MultipartFile 相关--> |
||||||
|
<dependency> |
||||||
|
<groupId>org.springframework</groupId> |
||||||
|
<artifactId>spring-test</artifactId> |
||||||
|
</dependency> |
||||||
|
|
||||||
|
<!-- 第三方系统api工具--> |
||||||
|
<dependency> |
||||||
|
<groupId>digital.laboratory.platform</groupId> |
||||||
|
<artifactId>dlp-othersys-api</artifactId> |
||||||
|
<version>${dlp.version}</version> |
||||||
|
</dependency> |
||||||
|
</dependencies> |
||||||
|
|
||||||
|
<build> |
||||||
|
<plugins> |
||||||
|
<plugin> |
||||||
|
<groupId>org.apache.maven.plugins</groupId> |
||||||
|
<artifactId>maven-compiler-plugin</artifactId> |
||||||
|
<configuration> |
||||||
|
<compilerArgument>-Xlint:unchecked</compilerArgument> |
||||||
|
</configuration> |
||||||
|
<version>3.8.1</version> |
||||||
|
</plugin> |
||||||
|
<plugin> |
||||||
|
<groupId>org.springframework.boot</groupId> |
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId> |
||||||
|
</plugin> |
||||||
|
<plugin> |
||||||
|
<groupId>io.fabric8</groupId> |
||||||
|
<artifactId>docker-maven-plugin</artifactId> |
||||||
|
</plugin> |
||||||
|
|
||||||
|
<plugin> |
||||||
|
<groupId>org.codehaus.mojo</groupId> |
||||||
|
<artifactId>build-helper-maven-plugin</artifactId> |
||||||
|
<version>3.3.0</version> |
||||||
|
<executions> |
||||||
|
<execution> |
||||||
|
<id>timestamp-property</id> |
||||||
|
<goals> |
||||||
|
<goal>timestamp-property</goal> |
||||||
|
</goals> |
||||||
|
<configuration> |
||||||
|
<name>timestamp</name> |
||||||
|
<pattern>yyyy-MM-dd HH:mm:ss</pattern> |
||||||
|
<locale>zh_CN</locale> |
||||||
|
<timeZone>Asia/Shanghai</timeZone> |
||||||
|
</configuration> |
||||||
|
</execution> |
||||||
|
</executions> |
||||||
|
</plugin> |
||||||
|
|
||||||
|
|
||||||
|
<plugin> |
||||||
|
<artifactId>maven-resources-plugin</artifactId> |
||||||
|
<version>3.1.0</version> |
||||||
|
<executions> |
||||||
|
<execution> |
||||||
|
<id>copy-resource-one</id> |
||||||
|
<phase>install</phase> |
||||||
|
<goals> |
||||||
|
<goal>copy-resources</goal> |
||||||
|
</goals> |
||||||
|
<configuration> |
||||||
|
<outputDirectory>${basedir}/../../out</outputDirectory> |
||||||
|
<resources> |
||||||
|
<resource> |
||||||
|
<directory>${basedir}/target</directory> |
||||||
|
<includes> |
||||||
|
<include>${project.artifactId}.jar</include> |
||||||
|
</includes> |
||||||
|
</resource> |
||||||
|
</resources> |
||||||
|
</configuration> |
||||||
|
</execution> |
||||||
|
</executions> |
||||||
|
</plugin> |
||||||
|
|
||||||
|
</plugins> |
||||||
|
</build> |
||||||
|
<profiles> |
||||||
|
<profile> |
||||||
|
<id>dev</id> |
||||||
|
<properties> |
||||||
|
<!-- 环境标识, 需要与配置文件的名称相对应 --> |
||||||
|
<profiles.active>dev</profiles.active> |
||||||
|
</properties> |
||||||
|
<activation> |
||||||
|
<!-- 默认环境 --> |
||||||
|
<activeByDefault>true</activeByDefault> |
||||||
|
</activation> |
||||||
|
</profile> |
||||||
|
</profiles> |
||||||
|
|
||||||
|
|
||||||
|
</project> |
@ -0,0 +1,22 @@ |
|||||||
|
package digital.laboratory.platform.identifybook; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.feign.annotation.EnableDLPFeignClients; |
||||||
|
import digital.laboratory.platform.common.security.annotation.EnableDLPResourceServer; |
||||||
|
import digital.laboratory.platform.common.swagger.annotation.EnableDLPSwagger2; |
||||||
|
import org.springframework.boot.SpringApplication; |
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||||
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; |
||||||
|
import org.springframework.scheduling.annotation.EnableAsync; |
||||||
|
|
||||||
|
@EnableDLPSwagger2 |
||||||
|
@EnableDLPFeignClients |
||||||
|
@EnableDiscoveryClient |
||||||
|
@EnableDLPResourceServer |
||||||
|
@SpringBootApplication(scanBasePackages={"digital.laboratory.platform"}) |
||||||
|
public class DlpIdentifyBookApplication { |
||||||
|
|
||||||
|
public static void main(String[] args) { |
||||||
|
SpringApplication.run(DlpIdentifyBookApplication.class, args); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,130 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.config; |
||||||
|
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
/** |
||||||
|
* 贵阳禁毒-情报平台推送数据配置 |
||||||
|
*/ |
||||||
|
@Component |
||||||
|
@ConfigurationProperties(prefix = "gyjd.labscare.api") |
||||||
|
public class ApiPathProperties { |
||||||
|
/** |
||||||
|
* api的ip |
||||||
|
*/ |
||||||
|
private String host; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托书推送的接口 |
||||||
|
*/ |
||||||
|
private String entrustLetter; |
||||||
|
|
||||||
|
/** |
||||||
|
* 确认书推送接口 |
||||||
|
*/ |
||||||
|
private String confirmLetter; |
||||||
|
|
||||||
|
/** |
||||||
|
* 生物检材定性记录 |
||||||
|
*/ |
||||||
|
private String biologyQualitativeRecord; |
||||||
|
|
||||||
|
/** |
||||||
|
* 普通检材定性记录(非红外报告) |
||||||
|
*/ |
||||||
|
private String nonInfraredGeneralQualitativeRecord; |
||||||
|
|
||||||
|
/** |
||||||
|
* 普通检材定性记录(红外报告) |
||||||
|
*/ |
||||||
|
private String infraredGeneralQualitativeRecord; |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定报告审批表 |
||||||
|
*/ |
||||||
|
private String appraisalReportApprovalForm; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定性报告 |
||||||
|
*/ |
||||||
|
private String qualitativeReport; |
||||||
|
|
||||||
|
/** |
||||||
|
* 归档报告信息 |
||||||
|
*/ |
||||||
|
private String archiveReportInfo; |
||||||
|
|
||||||
|
/************************************ Getter Setter 方法 ***********************************/ |
||||||
|
/******************************** Getter 方法会拼接上host返回 ***************************/ |
||||||
|
public String getHost() { |
||||||
|
return host; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHost(String host) { |
||||||
|
this.host = host; |
||||||
|
} |
||||||
|
|
||||||
|
public String getEntrustLetter() { |
||||||
|
return host + entrustLetter; |
||||||
|
} |
||||||
|
|
||||||
|
public void setEntrustLetter(String entrustLetter) { |
||||||
|
this.entrustLetter = entrustLetter; |
||||||
|
} |
||||||
|
|
||||||
|
public String getConfirmLetter() { |
||||||
|
return host + confirmLetter; |
||||||
|
} |
||||||
|
|
||||||
|
public void setConfirmLetter(String confirmLetter) { |
||||||
|
this.confirmLetter = confirmLetter; |
||||||
|
} |
||||||
|
|
||||||
|
public String getBiologyQualitativeRecord() { |
||||||
|
return host + biologyQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public void setBiologyQualitativeRecord(String biologyQualitativeRecord) { |
||||||
|
this.biologyQualitativeRecord = biologyQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public String getNonInfraredGeneralQualitativeRecord() { |
||||||
|
return host + nonInfraredGeneralQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public void setNonInfraredGeneralQualitativeRecord(String nonInfraredGeneralQualitativeRecord) { |
||||||
|
this.nonInfraredGeneralQualitativeRecord = nonInfraredGeneralQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public String getInfraredGeneralQualitativeRecord() { |
||||||
|
return host + infraredGeneralQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public void setInfraredGeneralQualitativeRecord(String infraredGeneralQualitativeRecord) { |
||||||
|
this.infraredGeneralQualitativeRecord = infraredGeneralQualitativeRecord; |
||||||
|
} |
||||||
|
|
||||||
|
public String getAppraisalReportApprovalForm() { |
||||||
|
return host + appraisalReportApprovalForm; |
||||||
|
} |
||||||
|
|
||||||
|
public void setAppraisalReportApprovalForm(String appraisalReportApprovalForm) { |
||||||
|
this.appraisalReportApprovalForm = appraisalReportApprovalForm; |
||||||
|
} |
||||||
|
|
||||||
|
public String getQualitativeReport() { |
||||||
|
return host + qualitativeReport; |
||||||
|
} |
||||||
|
|
||||||
|
public void setQualitativeReport(String qualitativeReport) { |
||||||
|
this.qualitativeReport = qualitativeReport; |
||||||
|
} |
||||||
|
|
||||||
|
public String getArchiveReportInfo() { |
||||||
|
return host + archiveReportInfo; |
||||||
|
} |
||||||
|
|
||||||
|
public void setArchiveReportInfo(String archiveReportInfo) { |
||||||
|
this.archiveReportInfo = archiveReportInfo; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.config; |
||||||
|
|
||||||
|
import feign.RequestInterceptor; |
||||||
|
import feign.RequestTemplate; |
||||||
|
import org.springframework.context.annotation.Configuration; |
||||||
|
import org.springframework.security.core.Authentication; |
||||||
|
import org.springframework.security.core.context.SecurityContext; |
||||||
|
import org.springframework.security.core.context.SecurityContextHolder; |
||||||
|
import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails; |
||||||
|
|
||||||
|
/** |
||||||
|
* Feign 请求拦截器 |
||||||
|
* Feign Client 向业务系统发出请求的时候, 把 Token 带上, 以用户自己的身份调用业务系统。 |
||||||
|
* 目的是在业务系统中识别用户是谁, 允许或禁止用户进行对应的操作。 |
||||||
|
*/ |
||||||
|
|
||||||
|
|
||||||
|
@Configuration |
||||||
|
public class FeignOauth2RequestInterceptor implements RequestInterceptor { |
||||||
|
|
||||||
|
private final String AUTHORIZATION_HEADER = "Authorization"; |
||||||
|
private final String BEARER_TOKEN_TYPE = "Bearer"; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void apply(RequestTemplate requestTemplate) { |
||||||
|
//System.out.println(String.format("======================================================================================"));
|
||||||
|
//System.out.println(String.format("dlp-admin-service, FeignOauth2RequestInterceptor(), feignTarget().name()=%s target.url=%s url=%s path=%s", requestTemplate.feignTarget().name(), requestTemplate.feignTarget().url(), requestTemplate.url(), requestTemplate.path()));
|
||||||
|
|
||||||
|
SecurityContext securityContext = SecurityContextHolder.getContext(); |
||||||
|
Authentication authentication = securityContext.getAuthentication(); |
||||||
|
if (authentication != null && authentication.getDetails() instanceof OAuth2AuthenticationDetails) { |
||||||
|
OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) authentication.getDetails(); |
||||||
|
//System.out.println(String.format("FeignOauth2RequestInterceptor() Authorization, token=%s", details.getTokenValue()));
|
||||||
|
requestTemplate.header(AUTHORIZATION_HEADER, String.format("%s %s", BEARER_TOKEN_TYPE, details.getTokenValue())); |
||||||
|
} |
||||||
|
else { |
||||||
|
//System.out.println(String.format("authentication=%s", authentication));
|
||||||
|
|
||||||
|
} |
||||||
|
//System.out.println(String.format("======================================================================================"));
|
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-27 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("//b-identification-process") |
||||||
|
public class BIdentificationProcessController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,734 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil; |
||||||
|
import cn.hutool.core.collection.CollUtil; |
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import digital.laboratory.platform.common.core.constant.OSSDirectoryConstants; |
||||||
|
import digital.laboratory.platform.common.core.util.ClassUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.feign.RemoteGenerateWordService; |
||||||
|
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustCaseDTO; |
||||||
|
import digital.laboratory.platform.identifybook.emums.BusinessStatus; |
||||||
|
import digital.laboratory.platform.identifybook.emums.PermissionGroupEnum; |
||||||
|
import digital.laboratory.platform.identifybook.emums.TaskTypeEnum; |
||||||
|
import digital.laboratory.platform.identifybook.entity.*; |
||||||
|
import digital.laboratory.platform.identifybook.event.PushDataToLabsCareEvent; |
||||||
|
import digital.laboratory.platform.identifybook.handler.AppStartupRunner; |
||||||
|
import digital.laboratory.platform.identifybook.req.BusinessProcessRecordREQ; |
||||||
|
import digital.laboratory.platform.identifybook.service.*; |
||||||
|
import digital.laboratory.platform.identifybook.vo.BusinessProcessRecordVO; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.context.ApplicationContext; |
||||||
|
import org.springframework.security.oauth2.provider.OAuth2Authentication; |
||||||
|
import org.springframework.transaction.annotation.Transactional; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import java.security.Principal; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.time.ZoneId; |
||||||
|
import java.util.Collections; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 业务流程 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "业务流程-相关接口") |
||||||
|
@RequestMapping("/book/businessProcessRecord") |
||||||
|
public class BusinessProcessRecordController { |
||||||
|
|
||||||
|
private final RemoteUserService remoteUserService; |
||||||
|
|
||||||
|
private final IBusinessProcessRecordService businessProcessRecordService; |
||||||
|
private final IIdentifyBookRelevanceService identifyBookRelevanceService; |
||||||
|
private final IIdentifyBookApproveService identifyBookApproveService; |
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
private final IEntrustmentIdentificationMaterialService entrustmentIdentificationMaterialService; |
||||||
|
// 根据模板身材word工具服务
|
||||||
|
private final RemoteGenerateWordService remoteGenerateWordService; |
||||||
|
|
||||||
|
private final IModifySupplementApplyService modifySupplementApplyService; |
||||||
|
|
||||||
|
private final IReceiveIdentifyBookService receiveIdentifyBookService; |
||||||
|
|
||||||
|
private final ITaskNotificationService taskNotificationService; |
||||||
|
|
||||||
|
private final ApplicationContext applicationContext; |
||||||
|
|
||||||
|
@ApiOperation(value = "通过条件分页查询业务流程记录列表", notes = "通过条件分页查询业务流程记录列表") |
||||||
|
@PostMapping("/search") |
||||||
|
public R<IPage<BusinessProcessRecord>> findBusinessProcessRecordPage(@RequestBody BusinessProcessRecordREQ req){ |
||||||
|
return R.ok(businessProcessRecordService.page(req.getPage(), null)); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据业务ID查询业务流程记录", notes = "根据业务ID查询业务流程记录") |
||||||
|
@PostMapping("/view/{businessId}") |
||||||
|
public R<List<BusinessProcessRecord>> view(@PathVariable(value = "businessId") String businessId){ |
||||||
|
List<BusinessProcessRecord> businessProcessRecordList = businessProcessRecordService.list( |
||||||
|
new LambdaQueryWrapper<BusinessProcessRecord>() |
||||||
|
.eq(BusinessProcessRecord::getBusinessId, businessId) |
||||||
|
.orderByAsc(BusinessProcessRecord::getCreateTime)); |
||||||
|
return R.ok(businessProcessRecordList); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "鉴定文书审批退回修改—重新提交", notes = "鉴定文书审批退回修改——重新提交") |
||||||
|
@PostMapping("/identifyBookSPTHXGCXTJ") |
||||||
|
public R<List<BusinessProcessRecord>> identifyBookSPTHXGCXTJ(@RequestBody BusinessProcessRecordVO vo, HttpServletRequest request){ |
||||||
|
boolean update = identifyBookRelevanceService.update(new LambdaUpdateWrapper<IdentifyBookRelevance>() |
||||||
|
.set(IdentifyBookRelevance::getBookStatus, vo.getBusinessStatus()) |
||||||
|
.eq(IdentifyBookRelevance::getRelevanceBusinessId, vo.getBusinessId())); |
||||||
|
if(update){ |
||||||
|
// 获取用户消息
|
||||||
|
Principal principal = request.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
|
||||||
|
TaskNotification taskNotification = new TaskNotification(); |
||||||
|
BusinessProcessRecord record = new BusinessProcessRecord(); |
||||||
|
record.setBusinessId(vo.getBusinessId()); |
||||||
|
record.setBusinessName("鉴定文书审批退回修改-重新提交"); |
||||||
|
record.setBusinessStatus(Integer.parseInt(vo.getBusinessStatus())); |
||||||
|
if (BusinessStatus.JD_WS_SH_TG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SH_TG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : "鉴定文书审批退回修改-重新提交"); |
||||||
|
businessProcessRecordService.save(record); |
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1); |
||||||
|
if(flag){ |
||||||
|
|
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_SP.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_SP.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookSP.getCode()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "鉴定文书(提交/审核/审批/签发)", notes = "鉴定文书(提交/审核/审批/签发)") |
||||||
|
@Transactional |
||||||
|
@PostMapping("/identifyBookTJSHSPQF") |
||||||
|
public R<Object> identifyBookTJSHSPQF(@RequestBody BusinessProcessRecordVO vo, HttpServletRequest request){ |
||||||
|
boolean update = identifyBookRelevanceService.update(new LambdaUpdateWrapper<IdentifyBookRelevance>() |
||||||
|
.set(IdentifyBookRelevance::getBookStatus, vo.getBusinessStatus()) |
||||||
|
.eq(IdentifyBookRelevance::getRelevanceBusinessId, vo.getBusinessId())); |
||||||
|
|
||||||
|
if(update){ |
||||||
|
// 获取用户消息
|
||||||
|
Principal principal = request.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
|
||||||
|
TaskNotification taskNotification = new TaskNotification(); |
||||||
|
BusinessProcessRecord record = new BusinessProcessRecord(); |
||||||
|
record.setBusinessId(vo.getBusinessId()); |
||||||
|
record.setBusinessName("鉴定文书提交审核审批签发"); |
||||||
|
record.setBusinessStatus(Integer.parseInt(vo.getBusinessStatus())); |
||||||
|
|
||||||
|
if(BusinessStatus.JD_WS_TJ_SH.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
|
||||||
|
// 提交审核
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_TJ_SH.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_TJ_SH.getDesc()); |
||||||
|
|
||||||
|
// 主要处理是否是退回修改的业务
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1); |
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_SH.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_SH.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookSH.getCode()); |
||||||
|
if(!flag){ |
||||||
|
|
||||||
|
taskNotification.setSubmitterUserId(dlpUser.getId()); |
||||||
|
taskNotification.setSubmitterUserName(dlpUser.getName()); |
||||||
|
Entrustment entrustment = entrustmentService.getById(vo.getBusinessId()); |
||||||
|
taskNotification.setAcceptNo(entrustment.getAcceptNo()); |
||||||
|
//CaseEvent caseEvent = caseEventService.getById(entrustment.getCaseId());
|
||||||
|
taskNotification.setCaseName(entrustment.getCaseName()); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SH_TG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审核通过-保存或更新鉴定文书审审批表
|
||||||
|
IdentifyBookApprove one = new IdentifyBookApprove(); |
||||||
|
one.setRelevanceBusinessId(vo.getBusinessId()); |
||||||
|
one.setProcessUserBy(dlpUser.getId()); |
||||||
|
one.setProcessUserName(dlpUser.getName()); |
||||||
|
one.setProcessTime(new Date()); |
||||||
|
one.setProcessMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : "审核通过"); |
||||||
|
one.setAnnexType(vo.getApproveVO().getAnnexType()); |
||||||
|
one.setBookType(vo.getApproveVO().getBookType()); |
||||||
|
one.setInspectionReportNumber(vo.getApproveVO().getInspectionReportNumber()); |
||||||
|
one.setOtherNumber(vo.getApproveVO().getOtherNumber()); |
||||||
|
one.setIsQualified(vo.getApproveVO().getIsQualified()); |
||||||
|
|
||||||
|
identifyBookApproveService.saveOrUpdate(one); |
||||||
|
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SH_TG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SH_TG.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1); |
||||||
|
if(flag){ |
||||||
|
|
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_SP.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_SP.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookSP.getCode()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SH_WTG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审核未通过
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SH_WTG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SH_WTG.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), -1)){ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SH_TH_XG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审核-退回修改
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SH_TH_XG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SH_TH_XG.getDesc()); |
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 2); |
||||||
|
if(flag){ |
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_SH_TH_XG.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_SH_TH_XG.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookProductionRrSubmissionProcess.getCode()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SP_QF_TG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// TODO 审批签发成功--更新鉴定文书并生成鉴定文书审批表
|
||||||
|
IdentifyBookApprove one = identifyBookApproveService.list(new LambdaQueryWrapper<IdentifyBookApprove>() |
||||||
|
.eq(IdentifyBookApprove::getRelevanceBusinessId, vo.getBusinessId()) |
||||||
|
.orderByDesc(IdentifyBookApprove::getCreateTime)).get(0); |
||||||
|
|
||||||
|
one.setRelevanceBusinessId(vo.getBusinessId()); |
||||||
|
one.setApproveUserBy(dlpUser.getId()); |
||||||
|
one.setApproveUserName(dlpUser.getName()); |
||||||
|
one.setApproveTime(new Date()); |
||||||
|
one.setApproveMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : "审批通过"); |
||||||
|
this.generateIdentifyBookApprove(one); |
||||||
|
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SP_QF_TG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SP_QF_TG.getDesc()); |
||||||
|
// 审批签发通过-通知鉴定系统
|
||||||
|
//remoteIdentificationService.putSetReportApplovalPassed(vo.getBusinessId()); 注释掉以前的通知方式
|
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1); |
||||||
|
if(flag){ |
||||||
|
|
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_QF_LQ.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_QF_LQ.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookQF.getCode()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
|
||||||
|
// 发布推送事件
|
||||||
|
applicationContext.publishEvent(new PushDataToLabsCareEvent(this, vo.getBusinessId(), Collections.synchronizedSet(CollUtil.newHashSet(5, 6)))); |
||||||
|
// applicationContext.publishEvent(new PushDataToLabsCareEvent(this, vo.getBusinessId(), 6));
|
||||||
|
// applicationContext.publishEvent(new PushDataToLabsCareEvent(this, vo.getBusinessId(), 7));
|
||||||
|
} |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SP_QF_WTG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审批签发未通过
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SP_QF_WTG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SP_QF_WTG.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), -1)){ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_SP_QF_TH_XG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审批签发退回修改
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_SP_QF_TH_XG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_SP_QF_TH_XG.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 2); |
||||||
|
if(flag){ |
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_SP_TH_XG.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_SP_TH_XG.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookProductionRrSubmissionProcess.getCode()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} |
||||||
|
|
||||||
|
}else if (BusinessStatus.JD_WS_YLQ.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// TODO 领取成功--生成鉴定文书领取信息
|
||||||
|
ReceiveIdentifyBook receiveIdentifyBook = new ReceiveIdentifyBook(); |
||||||
|
BeanUtil.copyProperties(vo, receiveIdentifyBook); |
||||||
|
if (receiveIdentifyBookService.count(Wrappers.<ReceiveIdentifyBook>lambdaQuery().eq(ReceiveIdentifyBook::getRelevanceBusinessId, vo.getBusinessId())) > 0) { |
||||||
|
return R.failed("文书已被领取,请勿重复领取!"); |
||||||
|
} |
||||||
|
receiveIdentifyBook.setRelevanceBusinessId(vo.getBusinessId()); |
||||||
|
receiveIdentifyBook.setOperatorUserId(dlpUser.getId()); |
||||||
|
receiveIdentifyBook.setOperatorUserName(dlpUser.getName()); |
||||||
|
receiveIdentifyBookService.save(receiveIdentifyBook); |
||||||
|
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_YLQ.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_YLQ.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1)){ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} else { |
||||||
|
return R.failed("参数-业务状态未定义,请确认传入的业务状态是否正确或联系管理员!!!"); |
||||||
|
} |
||||||
|
if(businessProcessRecordService.save(record)){ |
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
} |
||||||
|
return R.failed("系统异常,请联系管理员!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "鉴定文书修改/补充(提交/审核/审批)", notes = "鉴定文书修改/补充(提交/审核/审批)") |
||||||
|
@Transactional |
||||||
|
@PostMapping("/identifyBookModifySupplementTJSHSP") |
||||||
|
public R<String> identifyBookModifySupplementTJSHSP(@RequestBody BusinessProcessRecordVO vo, HttpServletRequest request){ |
||||||
|
boolean update = modifySupplementApplyService.update(new LambdaUpdateWrapper<ModifySupplementApply>() |
||||||
|
.set(ModifySupplementApply::getStatus, vo.getBusinessStatus()) |
||||||
|
.eq(ModifySupplementApply::getId, vo.getId())); |
||||||
|
if(update){ |
||||||
|
// 获取用户消息
|
||||||
|
Principal principal = request.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
|
||||||
|
TaskNotification taskNotification = new TaskNotification(); |
||||||
|
|
||||||
|
ModifySupplementApply modifySupplementApply = modifySupplementApplyService.getById(vo.getId()); |
||||||
|
BusinessProcessRecord record = new BusinessProcessRecord(); |
||||||
|
record.setBusinessId(vo.getBusinessId()); |
||||||
|
record.setBusinessName("鉴定文书修改/补充申请"); |
||||||
|
record.setBusinessStatus(Integer.parseInt(vo.getBusinessStatus())); |
||||||
|
if(BusinessStatus.JD_WS_XG_BC_SQ.getCode().equals(vo.getBusinessStatus())) { |
||||||
|
// 提交审核
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_XG_BC_SQ.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_XG_BC_SQ.getDesc()); |
||||||
|
|
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_XG_BC_SH.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_XG_BC_SH.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookModificationAndSupplementationSH.getCode()); |
||||||
|
taskNotification.setSubmitterUserId(dlpUser.getId()); |
||||||
|
taskNotification.setSubmitterUserName(dlpUser.getName()); |
||||||
|
Entrustment entrustment = entrustmentService.getById(modifySupplementApply.getEntrustmentId()); |
||||||
|
taskNotification.setAcceptNo(entrustment.getAcceptNo()); |
||||||
|
//CaseEvent caseEvent = caseEventService.getById(entrustment.getCaseId());
|
||||||
|
//taskNotification.setCaseName(caseEvent.getCaseName());
|
||||||
|
taskNotification.setCaseName(entrustment.getCaseName()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} else if (BusinessStatus.JD_WS_XG_BC_SH_TG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审核通过 设置并修改授权审核信息
|
||||||
|
modifySupplementApply.setEmpowerBySignDate(new Date()); |
||||||
|
modifySupplementApply.setEmpowerBySignOpinion(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : "审核通过"); |
||||||
|
modifySupplementApplyService.updateById(modifySupplementApply); |
||||||
|
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_XG_BC_SH_TG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_XG_BC_SH_TG.getDesc()); |
||||||
|
|
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
boolean flag = commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1); |
||||||
|
if(flag){ |
||||||
|
|
||||||
|
// 设置任务通知公共信息
|
||||||
|
commSetTaskNotification(taskNotification, vo.getBusinessId(), |
||||||
|
Integer.parseInt(TaskTypeEnum.JD_WS_XG_BC_SP.getCode()), |
||||||
|
TaskTypeEnum.JD_WS_XG_BC_SP.getDesc(), |
||||||
|
record.getMessage(), |
||||||
|
PermissionGroupEnum.IdentifyBookModificationAndSupplementationSP.getCode()); |
||||||
|
Entrustment entrustment = entrustmentService.getById(modifySupplementApply.getEntrustmentId()); |
||||||
|
taskNotification.setCaseName(entrustment.getCaseName()); |
||||||
|
// 推送任务通知
|
||||||
|
commSaveTaskNotification(taskNotification); |
||||||
|
} |
||||||
|
} else if (BusinessStatus.JD_WS_XG_BC_SH_WTG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审核未通过
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_XG_BC_SH_WTG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_XG_BC_SH_WTG.getDesc()); |
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), -1)){ |
||||||
|
|
||||||
|
} |
||||||
|
} else if (BusinessStatus.JD_WS_XG_BC_SP_TG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审批通过 设置并修改技术人员审批信息
|
||||||
|
modifySupplementApply.setTechnologyBySignDate(new Date()); |
||||||
|
modifySupplementApply.setTechnologyBySignOpinion(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : "审核通过"); |
||||||
|
// 生成鉴定文书修改补充申请表
|
||||||
|
this.generateModifySupplementApply(modifySupplementApply); |
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_XG_BC_SP_TG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_XG_BC_SP_TG.getDesc()); |
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), 1)){ |
||||||
|
} |
||||||
|
if(modifySupplementApply.getUpdateWay() == 2){ |
||||||
|
// 修改鉴定文书业务状态未 收回原件-重新制作
|
||||||
|
identifyBookRelevanceService.update(new LambdaUpdateWrapper<IdentifyBookRelevance>() |
||||||
|
.set(IdentifyBookRelevance::getBookStatus, BusinessStatus.JD_WS_XG_BC_SH_YJ_CX_ZZ.getCode()) |
||||||
|
.eq(IdentifyBookRelevance::getRelevanceBusinessId, modifySupplementApply.getEntrustmentId())); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} else if (BusinessStatus.JD_WS_XG_BC_SP_WTG.getCode().equals(vo.getBusinessStatus())){ |
||||||
|
// 审批未通过
|
||||||
|
record.setBusinessTypeName(BusinessStatus.JD_WS_XG_BC_SP_WTG.getDesc()); |
||||||
|
record.setMessage(StringUtils.isNotEmpty(vo.getMessage()) ? vo.getMessage() : BusinessStatus.JD_WS_XG_BC_SP_WTG.getDesc()); |
||||||
|
// 修改推送任务通知处理状态
|
||||||
|
if(commUpdateTaskNotification(taskNotification, dlpUser, vo.getBusinessId(), -1)){ |
||||||
|
|
||||||
|
} |
||||||
|
} else { |
||||||
|
return R.failed("参数-业务状态未定义,请确认传入的业务状态是否正确或联系管理员!!!"); |
||||||
|
} |
||||||
|
if(businessProcessRecordService.save(record)){ |
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
} |
||||||
|
return R.failed("系统异常,请联系管理员!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
//获取鉴定书的处理记录,按ID排序
|
||||||
|
@ApiOperation(value ="获取鉴定书的处理记录,按ID desc排序",notes = "获取鉴定书的处理记录,按ID desc排序") |
||||||
|
@GetMapping("/getIdentifyBookProcessRecord") |
||||||
|
public R getIdentifyBookProcessRecord(String businessId){ |
||||||
|
List<BusinessProcessRecord> ret= businessProcessRecordService.list(Wrappers.<BusinessProcessRecord>lambdaQuery() |
||||||
|
.eq(BusinessProcessRecord::getBusinessId,businessId) |
||||||
|
.orderByDesc(BusinessProcessRecord::getId)); |
||||||
|
return R.ok(ret); |
||||||
|
} |
||||||
|
/** |
||||||
|
* TODO 生成鉴定文书审批表并保存 |
||||||
|
* @param one 鉴定文书审批表对象 |
||||||
|
*/ |
||||||
|
private void generateIdentifyBookApprove(IdentifyBookApprove one) { |
||||||
|
try { |
||||||
|
EntrustCaseDTO entrustCaseDTO = entrustmentService.getEntrustCaseDTOById(one.getRelevanceBusinessId()); |
||||||
|
IdentifyBookRelevance identifyBookRelevance = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.eq(IdentifyBookRelevance::getRelevanceBusinessId, one.getRelevanceBusinessId())); |
||||||
|
|
||||||
|
// 模板
|
||||||
|
// String templateFileName = "NADL-Shaanxi-CX-22-01-2021鉴定文书审批表001.doc";
|
||||||
|
String templateFileName = AppStartupRunner.getCfg("identifyBookApproveTemplate"); |
||||||
|
// 文件类型
|
||||||
|
String fileType = ".docx"; // 文件类型
|
||||||
|
// 文件版本号
|
||||||
|
String version = "v1.0"; |
||||||
|
// 文件名
|
||||||
|
String fileName = "鉴定文书审批表-" + version; |
||||||
|
|
||||||
|
// 文件路径 + 业务ID +文件名
|
||||||
|
String pathFileName = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + one.getRelevanceBusinessId() + "/bookApprove/" + fileName; |
||||||
|
|
||||||
|
Map<String, Object> parameter = ClassUtils.objectToMap(entrustCaseDTO); |
||||||
|
parameter.put("bookYear", identifyBookRelevance.getYear()); |
||||||
|
parameter.put("bookSerialNumber", identifyBookRelevance.getSerialNumber()); |
||||||
|
one.setYear(identifyBookRelevance.getYear()); |
||||||
|
one.setSerialNumber(identifyBookRelevance.getSerialNumber()); |
||||||
|
|
||||||
|
// 获取样本数量
|
||||||
|
long sampleNum = entrustmentIdentificationMaterialService.count(new LambdaQueryWrapper<EntrustmentIdentificationMaterial>() |
||||||
|
.eq(EntrustmentIdentificationMaterial::getEntrustmentId, one.getRelevanceBusinessId())); |
||||||
|
parameter.put("sampleNum", sampleNum); |
||||||
|
|
||||||
|
one.setPath(pathFileName + fileType); |
||||||
|
one.setFileName(fileName + fileType); |
||||||
|
if(StringUtils.isEmpty(one.getYear())){ |
||||||
|
LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); |
||||||
|
String year = LocalDateTimeUtil.format(localDateTime, "yyyy"); |
||||||
|
List<IdentifyBookApprove> list = identifyBookApproveService.list(new LambdaQueryWrapper<IdentifyBookApprove>() |
||||||
|
.eq(IdentifyBookApprove::getYear, year) |
||||||
|
.orderByDesc(IdentifyBookApprove::getSerialNumber)); |
||||||
|
if(CollectionUtils.isNotEmpty(list)){ |
||||||
|
int num = Integer.parseInt(list.get(0).getSerialNumber()); |
||||||
|
one.setYear(year); |
||||||
|
one.setSerialNumber(StrUtil.fillBefore((num + 1) + "", '0', 5)); |
||||||
|
} else { |
||||||
|
one.setYear(year); |
||||||
|
one.setSerialNumber(StrUtil.fillBefore( "1", '0', 5)); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
parameter.put("year", one.getYear()); |
||||||
|
parameter.put("serialNumber", one.getSerialNumber()); |
||||||
|
// parameter.put("identificationRequestsDesc", IdentifyRequireEnum.findEnumByCode(entrustCaseDTO.getIdentificationRequests()).getDesc());
|
||||||
|
parameter.put("otherIdentificationRequests", StringUtils.isNotEmpty(entrustCaseDTO.getOtherIdentificationRequests())? "其它:" + entrustCaseDTO.getOtherIdentificationRequests(): ""); |
||||||
|
|
||||||
|
// 文书类型:(1:检验报告,2:其它)
|
||||||
|
parameter.put("inspectionReportFlag", false); |
||||||
|
parameter.put("otherFlag", false); |
||||||
|
if(StringUtils.isNotEmpty(one.getBookType())){ |
||||||
|
String[] bookTypeArr = one.getBookType().split(","); |
||||||
|
for (String s : bookTypeArr) { |
||||||
|
if (Integer.parseInt(s) == 1) { |
||||||
|
parameter.put("inspectionReportFlag", true); |
||||||
|
parameter.put("inspectionReportNumber", one.getInspectionReportNumber()); |
||||||
|
} else if (Integer.parseInt(s) == 2) { |
||||||
|
parameter.put("otherFlag", true); |
||||||
|
parameter.put("otherNumber", one.getOtherNumber()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// 附件(1:检验记录(含原始记录,检验图表)、2:鉴定事项确认书、3:鉴定委托书或鉴定聘请书、4:检材照片、5:送检人证件复印件、6:原鉴定文书)
|
||||||
|
parameter.put("jyJlFlag", false); |
||||||
|
parameter.put("jdSxQrsFlag", false); |
||||||
|
parameter.put("jdWtsFlag", false); |
||||||
|
parameter.put("jcZpFlag", false); |
||||||
|
parameter.put("sjrZjFyjFlag", false); |
||||||
|
parameter.put("yJdWsFlag", false); |
||||||
|
if(StringUtils.isNotEmpty(one.getAnnexType())){ |
||||||
|
String[] annexTypeArr = one.getAnnexType().split(","); |
||||||
|
for (String s : annexTypeArr) { |
||||||
|
int num = Integer.parseInt(s); |
||||||
|
if (num == 1) { |
||||||
|
parameter.put("jyJlFlag", true); |
||||||
|
} else if (num == 2) { |
||||||
|
parameter.put("jdSxQrsFlag", true); |
||||||
|
} else if (num == 3) { |
||||||
|
parameter.put("jdWtsFlag", true); |
||||||
|
} else if (num == 4) { |
||||||
|
parameter.put("jcZpFlag", true); |
||||||
|
} else if (num == 5) { |
||||||
|
parameter.put("sjrZjFyjFlag", true); |
||||||
|
} else if (num == 6) { |
||||||
|
parameter.put("yJdWsFlag", true); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// 是否合格(1:检验方法、2:检验过程、3:检验图谱、4:检验结果)
|
||||||
|
parameter.put("jyFfFlag", false); |
||||||
|
parameter.put("jyGcFlag", false); |
||||||
|
parameter.put("jyTpFlag", false); |
||||||
|
parameter.put("jyJgFlag", false); |
||||||
|
if(StringUtils.isNotEmpty(one.getIsQualified())){ |
||||||
|
String[] isQualifiedArr = one.getIsQualified().split(","); |
||||||
|
for (String s : isQualifiedArr) { |
||||||
|
int num = Integer.parseInt(s); |
||||||
|
if (num == 1) { |
||||||
|
parameter.put("jyFfFlag", true); |
||||||
|
} else if (num == 2) { |
||||||
|
parameter.put("jyGcFlag", true); |
||||||
|
} else if (num == 3) { |
||||||
|
parameter.put("jyTpFlag", true); |
||||||
|
} else if (num == 4) { |
||||||
|
parameter.put("jyJgFlag", true); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
// 鉴定文书审核意见
|
||||||
|
parameter.put("processMessage", one.getProcessMessage()); |
||||||
|
// 鉴定文书审核日期
|
||||||
|
parameter.put("processTime", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(one.getProcessTime().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
// 鉴定文书审批意见
|
||||||
|
parameter.put("approveMessage", one.getApproveMessage()); |
||||||
|
// 鉴定文书审批日期
|
||||||
|
parameter.put("approveTime", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(one.getApproveTime().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
// 备注
|
||||||
|
parameter.put("remarks", one.getRemarks()); |
||||||
|
|
||||||
|
// 生成鉴定文书审批表
|
||||||
|
R r = remoteGenerateWordService.generateWord(templateFileName, "", pathFileName, fileType, |
||||||
|
"", null, false, parameter); |
||||||
|
if(r != null && r.getCode() == 0){ |
||||||
|
identifyBookApproveService.updateById(one); |
||||||
|
} else { |
||||||
|
throw new IllegalArgumentException(r.getMsg()); |
||||||
|
} |
||||||
|
}catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* TODO 生成鉴定文书修改/补充申请表 |
||||||
|
* @param modifySupplementApply 修改补充对象 |
||||||
|
*/ |
||||||
|
private void generateModifySupplementApply(ModifySupplementApply modifySupplementApply){ |
||||||
|
|
||||||
|
try { |
||||||
|
IdentifyBookRelevance identifyBookRelevance = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.eq(IdentifyBookRelevance::getRelevanceBusinessId, modifySupplementApply.getEntrustmentId())); |
||||||
|
Entrustment entrustment = entrustmentService.getById(modifySupplementApply.getEntrustmentId()); |
||||||
|
|
||||||
|
Map<String, Object> parameter = ClassUtils.objectToMap(modifySupplementApply); |
||||||
|
parameter.put("bookYear", identifyBookRelevance.getYear()); |
||||||
|
parameter.put("bookSerialNumber", identifyBookRelevance.getSerialNumber()); |
||||||
|
parameter.put("clientOrgName", entrustment.getClientOrgName()); |
||||||
|
if(StringUtils.isNotEmpty(modifySupplementApply.getEntrustBy()) && StringUtils.isEmpty(modifySupplementApply.getEntrustUserName())){ |
||||||
|
parameter.put("entrustUserName", remoteUserService.innerGetById(modifySupplementApply.getEntrustBy()).getData().getName()); |
||||||
|
} else { |
||||||
|
parameter.put("entrustUserName", modifySupplementApply.getEntrustUserName()); |
||||||
|
} |
||||||
|
|
||||||
|
if(ObjectUtils.isNotEmpty(modifySupplementApply.getApplyTime())){ |
||||||
|
parameter.put("applyTime", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(modifySupplementApply.getApplyTime().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
} |
||||||
|
// parameter.put("updateUserName", remoteUserService.innerGetById(modifySupplementApply.getUpdateBy()).getData().getName());
|
||||||
|
parameter.put("updateUserName", modifySupplementApply.getUpdateBy()); |
||||||
|
if(ObjectUtils.isNotEmpty(modifySupplementApply.getUpdateTime())){ |
||||||
|
parameter.put("updateTime", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(modifySupplementApply.getUpdateTime().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
parameter.put("xgCdWjFlag", false); |
||||||
|
parameter.put("shYjCxCjJdWsFlag", false); |
||||||
|
if(modifySupplementApply.getUpdateWay() == 1){ |
||||||
|
parameter.put("xgCdWjFlag", true); |
||||||
|
}else{ |
||||||
|
parameter.put("shYjCxCjJdWsFlag", true); |
||||||
|
} |
||||||
|
if(ObjectUtils.isNotEmpty(modifySupplementApply.getEmpowerBySignDate())){ |
||||||
|
parameter.put("empowerBySignDate", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(modifySupplementApply.getEmpowerBySignDate().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
} |
||||||
|
if(ObjectUtils.isNotEmpty(modifySupplementApply.getTechnologyBySignDate())){ |
||||||
|
parameter.put("technologyBySignDate", LocalDateTimeUtil.format( |
||||||
|
LocalDateTime.ofInstant(modifySupplementApply.getTechnologyBySignDate().toInstant(), ZoneId.systemDefault()), "yyyy年MM月dd日")); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 获取模板文件名
|
||||||
|
String templateFileName = AppStartupRunner.getCfg("identifyBookModifySupplementApplyTemplate"); |
||||||
|
// 文件类型
|
||||||
|
String fileType = ".docx"; // 文件类型
|
||||||
|
// 文件版本号
|
||||||
|
String version = "v1.0"; |
||||||
|
// 文件名
|
||||||
|
String fileName = "鉴定文书修改补充申请-" + version; |
||||||
|
|
||||||
|
// 文件路径 + 业务ID +文件名
|
||||||
|
String pathFileName = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + modifySupplementApply.getEntrustmentId() + "/bookModifyApply/" + fileName; |
||||||
|
// 生成鉴定文书审批表
|
||||||
|
R r = remoteGenerateWordService.generateWord(templateFileName, "", pathFileName, fileType, |
||||||
|
"", null, false, parameter); |
||||||
|
if(r != null && r.getCode() == 0){ |
||||||
|
modifySupplementApply.setPath(pathFileName + fileType); |
||||||
|
modifySupplementApply.setFileName(fileName + fileType); |
||||||
|
modifySupplementApplyService.updateById(modifySupplementApply); |
||||||
|
} else { |
||||||
|
throw new IllegalArgumentException(r.getMsg()); |
||||||
|
} |
||||||
|
|
||||||
|
}catch (Exception e){ |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
/** |
||||||
|
* 设置任务通知公共信息 |
||||||
|
* @param taskNotification 任务通知信息 |
||||||
|
* @param businessId 业务ID |
||||||
|
* @param type 任务类型 |
||||||
|
* @param title 任务标题 |
||||||
|
* @param content 任务类容 |
||||||
|
* @param permissionGroup 任务代办人员组 |
||||||
|
*/ |
||||||
|
private void commSetTaskNotification(TaskNotification taskNotification, String businessId, |
||||||
|
int type, String title, String content, String permissionGroup){ |
||||||
|
taskNotification.setBusinessId(businessId); |
||||||
|
taskNotification.setType(type); |
||||||
|
taskNotification.setTitle(title); |
||||||
|
taskNotification.setContent(content); |
||||||
|
taskNotification.setPermissionGroup(permissionGroup); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改推送任务通知处理状态 |
||||||
|
* @param taskNotification 任务通知基本信息 |
||||||
|
* @return R<Object> |
||||||
|
*/ |
||||||
|
private boolean commUpdateTaskNotification(TaskNotification taskNotification, DLPUser dlpUser, String businessId, int status){ |
||||||
|
|
||||||
|
// 查询并 更新任务为已处理
|
||||||
|
TaskNotification notification = taskNotificationService.getOne(new LambdaQueryWrapper<TaskNotification>() |
||||||
|
.eq(TaskNotification::getBusinessId, businessId) |
||||||
|
.eq(TaskNotification::getStatus, 0) |
||||||
|
.in(TaskNotification::getPermissionGroup, dlpUser.getPermissions())); |
||||||
|
if(ObjectUtils.isNotEmpty(notification)){ |
||||||
|
notification.setStatus(status); |
||||||
|
notification.setTransactionPersonnelId(dlpUser.getId()); |
||||||
|
notification.setTransactionPersonnelName(dlpUser.getName()); |
||||||
|
|
||||||
|
taskNotification.setSubmitterUserId(notification.getSubmitterUserId()); |
||||||
|
taskNotification.setSubmitterUserName(notification.getSubmitterUserName()); |
||||||
|
taskNotification.setAcceptNo(notification.getAcceptNo()); |
||||||
|
taskNotification.setCaseName(notification.getCaseName()); |
||||||
|
return taskNotificationService.updateById(notification); |
||||||
|
} |
||||||
|
return false; |
||||||
|
|
||||||
|
} |
||||||
|
/** |
||||||
|
* 推送任务通知 |
||||||
|
* @param taskNotification |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
private R<Object> commSaveTaskNotification(TaskNotification taskNotification){ |
||||||
|
|
||||||
|
// 设置任务通知
|
||||||
|
boolean save = taskNotificationService.save(taskNotification); |
||||||
|
if(!save){ |
||||||
|
return R.failed("推送任务通知失败"); |
||||||
|
} |
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import digital.laboratory.platform.common.feign.RemoteGenerateWordService; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 案件、事件 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@RequestMapping("/book/caseEvent") |
||||||
|
public class CaseEventController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 与案件相关的物证信息 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/caseEvidence") |
||||||
|
public class CaseEvidenceController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 送检员 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/deliverer") |
||||||
|
public class DelivererController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托与实验关系 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/b-entrustment-bundle") |
||||||
|
public class EntrustmentBundleController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,57 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustmentDTO; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.req.EntrustmentREQ; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Collections; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "委托数据-相关接口") |
||||||
|
@RequestMapping("/book/entrustment") |
||||||
|
public class EntrustmentController { |
||||||
|
|
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托id查询委托相关详情", notes = "根据委托id查询委托相关详情") |
||||||
|
@GetMapping("/view/{entrustId}") |
||||||
|
public R<EntrustmentDTO> view(@PathVariable(value = "entrustId") String entrustId){ |
||||||
|
EntrustmentDTO entrustmentDTO = entrustmentService.getEntrustmentDTO(entrustId); |
||||||
|
return R.ok(entrustmentDTO); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据条件分页查询委托数据列表", notes = "根据条件分页查询委托数据列表") |
||||||
|
@PostMapping("/findEntrustPage") |
||||||
|
public R<IPage<EntrustmentDTO>> findEntrustPage(@RequestBody EntrustmentREQ req){ |
||||||
|
List<Entrustment> list = entrustmentService.list(); |
||||||
|
List<String> entrustIdList=new ArrayList<>(); |
||||||
|
if(list.size()>0){ |
||||||
|
entrustIdList= list.stream().map(s -> s.getId()).collect(Collectors.toList()); |
||||||
|
} |
||||||
|
entrustmentService.synchronizationTestSysData(entrustIdList);//同步远程数据,同步后的数据不会再同步
|
||||||
|
return R.ok(entrustmentService.findEntrustPage(req.getPage(), req)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检材信息 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/entrustmentIdentificationMaterial") |
||||||
|
public class EntrustmentIdentificationMaterialController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验方法 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/examinationMethods") |
||||||
|
public class ExaminationMethodsController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 实验(检验方法的实例) 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/b-experiment") |
||||||
|
public class ExperimentController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发检测任务 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/hairJob") |
||||||
|
public class HairJobController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发任务的检材信息 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/hairJobIdentificationMaterial") |
||||||
|
public class HairJobIdentificationMaterialController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定表,一个鉴定可能会有多个委托 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/identification") |
||||||
|
public class IdentificationController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,109 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookApprove; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IIdentifyBookApproveService; |
||||||
|
import digital.laboratory.platform.identifybook.utils.Word2PdfAsposeUtil; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.PathVariable; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
import javax.activation.MimetypesFileTypeMap; |
||||||
|
import javax.servlet.ServletOutputStream; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.ByteArrayInputStream; |
||||||
|
import java.io.ByteArrayOutputStream; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书审批表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-25 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定文书审批表相关接口") |
||||||
|
@RequestMapping("/book/identifyBookApprove") |
||||||
|
public class IdentifyBookApproveController { |
||||||
|
|
||||||
|
private final OssFile ossFile; |
||||||
|
private final IIdentifyBookApproveService identifyBookApproveService; |
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID获取鉴定文书审核审批详情", notes = "根据委托ID获取鉴定文书审核审批详情") |
||||||
|
@GetMapping("/view/{entrustId}") |
||||||
|
public R<IdentifyBookApprove> view(@PathVariable(value = "entrustId") String entrustId, HttpServletResponse response){ |
||||||
|
try { |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> entrustIds = new ArrayList<>(); |
||||||
|
List<Entrustment> entrustmentList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId, entrustment.getId()) |
||||||
|
); |
||||||
|
if(CollectionUtils.isNotEmpty(entrustmentList)){ |
||||||
|
entrustIds.addAll(entrustmentList.stream().map(m -> m.getId()).collect(Collectors.toList())); |
||||||
|
} |
||||||
|
List<IdentifyBookApprove> identifyBookApproveList = identifyBookApproveService.list(new LambdaQueryWrapper<IdentifyBookApprove>() |
||||||
|
.in(IdentifyBookApprove::getRelevanceBusinessId, entrustIds) |
||||||
|
.orderByDesc(IdentifyBookApprove::getCreateTime)); |
||||||
|
|
||||||
|
return R.ok(CollectionUtils.isNotEmpty(identifyBookApproveList)? identifyBookApproveList.get(0): null); |
||||||
|
}catch (Exception e){ |
||||||
|
System.out.println("获取鉴定文书审批表异常" + e.getMessage()); |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("系统异常!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID获取鉴定文书审批表文件", notes = "根据委托ID获取鉴定文书审批表文件") |
||||||
|
@GetMapping("/getIdentifyBookApprove/{entrustId}") |
||||||
|
public void getIdentifyBookApprove(@PathVariable(value = "entrustId") String entrustId, HttpServletResponse response){ |
||||||
|
try { |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> entrustIds = new ArrayList<>(); |
||||||
|
List<Entrustment> entrustmentList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId, entrustment.getId()) |
||||||
|
); |
||||||
|
if(CollectionUtils.isNotEmpty(entrustmentList)){ |
||||||
|
entrustIds.addAll(entrustmentList.stream().map(m -> m.getId()).collect(Collectors.toList())); |
||||||
|
} |
||||||
|
List<IdentifyBookApprove> identifyBookApproveList = identifyBookApproveService.list(new LambdaQueryWrapper<IdentifyBookApprove>() |
||||||
|
.in(IdentifyBookApprove::getRelevanceBusinessId, entrustIds) |
||||||
|
.orderByDesc(IdentifyBookApprove::getCreateTime)); |
||||||
|
// 获取文件并转PDF
|
||||||
|
ByteArrayOutputStream bosWord = new ByteArrayOutputStream(); |
||||||
|
ossFile.fileGet(identifyBookApproveList.get(0).getPath(), bosWord); |
||||||
|
ServletOutputStream servletOutputStream = response.getOutputStream(); |
||||||
|
byte[] pdfByte = Word2PdfAsposeUtil.docx2pdf(new ByteArrayInputStream(bosWord.toByteArray())); |
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream(pdfByte.length); |
||||||
|
baos.write(pdfByte, 0, pdfByte.length); |
||||||
|
baos.writeTo(servletOutputStream); |
||||||
|
String fileName = identifyBookApproveList.get(0).getFileName(); |
||||||
|
response.setContentType(new MimetypesFileTypeMap().getContentType(fileName.substring(0, fileName.length() - 5) + ".pdf")); |
||||||
|
baos.close(); |
||||||
|
}catch (Exception e){ |
||||||
|
System.out.println("获取鉴定文书审批表异常" + e.getMessage()); |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,238 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil; |
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import digital.laboratory.platform.common.core.constant.OSSDirectoryConstants; |
||||||
|
import digital.laboratory.platform.common.core.util.ClassUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.feign.RemoteGenerateWordService; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustCaseDTO; |
||||||
|
import digital.laboratory.platform.identifybook.entity.*; |
||||||
|
import digital.laboratory.platform.identifybook.handler.AppStartupRunner; |
||||||
|
import digital.laboratory.platform.identifybook.service.*; |
||||||
|
import digital.laboratory.platform.identifybook.vo.ExperimentVO; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiImplicitParam; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.core.env.Environment; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.*; |
||||||
|
import java.math.BigDecimal; |
||||||
|
import java.net.HttpURLConnection; |
||||||
|
import java.net.URL; |
||||||
|
import java.text.SimpleDateFormat; |
||||||
|
import java.util.*; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
import org.json.simple.JSONObject; |
||||||
|
import org.json.simple.parser.JSONParser; |
||||||
|
import org.json.simple.parser.ParseException; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书-制作/修改 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/22 17:41 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定文书-制作/修改-相关接口") |
||||||
|
@RequestMapping("/book/identifyBookComm") |
||||||
|
public class IdentifyBookCommController { |
||||||
|
|
||||||
|
|
||||||
|
private final OssFile ossFile; |
||||||
|
|
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
private final IIdentifyBookService identifyBookService; |
||||||
|
|
||||||
|
private final IIdentifyBookRelevanceService identifyBookRelevanceService; |
||||||
|
|
||||||
|
private final Environment env; |
||||||
|
|
||||||
|
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); |
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID制作鉴定文书", notes = "根据委托ID制作鉴定文书") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID", required = true) |
||||||
|
@GetMapping("/makeIdentifyBook/{entrustId}") |
||||||
|
public R makeIdentifyBook(@PathVariable(value = "entrustId") String entrustId, HttpServletResponse response) { |
||||||
|
EntrustCaseDTO entrustCaseDTO = null; |
||||||
|
try { |
||||||
|
entrustCaseDTO = identifyBookService.buildIdentifyBook(entrustId); |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
return R.failed("生成鉴定文书异常, 请联系系统管理员!!!"); |
||||||
|
} |
||||||
|
if (entrustCaseDTO == null) { |
||||||
|
return R.failed("实验数据不满足生成文书!"); |
||||||
|
} else { |
||||||
|
return R.ok(entrustCaseDTO, "生成鉴定文书成功!"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID和修改后的鉴定文书更新鉴定文书", notes = "根据委托ID和修改后的鉴定文书更新鉴定文书") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID", required = true) |
||||||
|
@PostMapping("/updateIdentifyBook/{entrustId}") |
||||||
|
public R updateIdentifyBook(@PathVariable(value = "entrustId") String entrustId, |
||||||
|
@RequestPart("file") MultipartFile file, HttpServletResponse response) { |
||||||
|
try { |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> stringIdsList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())) |
||||||
|
.stream().map(m -> m.getId()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
IdentifyBookRelevance one = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.in(IdentifyBookRelevance::getRelevanceBusinessId, stringIdsList)); |
||||||
|
// 获取最后一个文书版本数据
|
||||||
|
IdentifyBook identifyBook = identifyBookService.getMaxVersionIdentifyBook(one.getId()); |
||||||
|
|
||||||
|
String version = "v" + new BigDecimal(identifyBook.getVersion().substring(1)).add(new BigDecimal("0.1")); // 版本号
|
||||||
|
String fileName = "鉴定文书-" + version; |
||||||
|
String fileType = ".docx"; // 文件类型
|
||||||
|
String identifyBookPathFileName = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + one.getRelevanceBusinessId() + "/book/" + fileName; // 鉴定文书存储路径及文件名
|
||||||
|
// 上传文书
|
||||||
|
ossFile.fileSave(identifyBookPathFileName + fileType, file.getInputStream()); |
||||||
|
// 保存文书相关消息
|
||||||
|
boolean b = this.saveIdentifyBookComm(one.getId(), identifyBookPathFileName + fileType, fileName + fileType, version, "修改文书"); |
||||||
|
if (b) { |
||||||
|
// ossFile.fileGet(identifyBookPathFileName + fileType, response.getOutputStream());
|
||||||
|
// response.setContentType(new MimetypesFileTypeMap().getContentType(fileName + fileType));
|
||||||
|
String uuid = IdWorker.get32UUID(); |
||||||
|
return R.ok(uuid + "#" + identifyBookPathFileName + fileType, "获取文件成功"); |
||||||
|
} |
||||||
|
} catch (Exception e) { |
||||||
|
return R.failed("修改文书上传异常,请联系管理员!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
return R.failed("修改文书上传异常,请联系管理员!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID和修改后的鉴定文书更新鉴定文书", notes = "根据委托ID和修改后的鉴定文书更新鉴定文书") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID", required = true) |
||||||
|
@PostMapping("/callBackIdentifyBook/{entrustId}") |
||||||
|
public void callBackIdentifyBook(@PathVariable(value = "entrustId") String entrustId, HttpServletRequest request, HttpServletResponse response) { |
||||||
|
log.error("entrustId:: " + entrustId); |
||||||
|
PrintWriter writer = null; |
||||||
|
JSONObject jsonObj = null; |
||||||
|
try { |
||||||
|
writer = response.getWriter(); |
||||||
|
Scanner scanner = new Scanner(request.getInputStream()).useDelimiter("\\A"); |
||||||
|
String body = scanner.hasNext() ? scanner.next() : ""; |
||||||
|
jsonObj = (JSONObject) new JSONParser().parse(body); |
||||||
|
System.out.println(jsonObj); |
||||||
|
System.out.println("===saveeditedfile:" + jsonObj.get("status")); |
||||||
|
/* |
||||||
|
0 - no document with the key identifier could be found, |
||||||
|
1 - document is being edited, |
||||||
|
2 - document is ready for saving, |
||||||
|
3 - document saving error has occurred, |
||||||
|
4 - document is closed with no changes, |
||||||
|
6 - document is being edited, but the current document state is saved, |
||||||
|
7 - error has occurred while force saving the document. |
||||||
|
* */ |
||||||
|
if ((long) jsonObj.get("status") == 2) { |
||||||
|
|
||||||
|
String downloadUri = (String) jsonObj.get("url"); |
||||||
|
URL url = new URL(downloadUri); |
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
||||||
|
InputStream inputStream = connection.getInputStream(); |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> stringIdsList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())) |
||||||
|
.stream().map(m -> m.getId()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
IdentifyBookRelevance one = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.in(IdentifyBookRelevance::getRelevanceBusinessId, stringIdsList)); |
||||||
|
// 获取最后一个文书版本数据
|
||||||
|
IdentifyBook identifyBook = identifyBookService.getMaxVersionIdentifyBook(one.getId()); |
||||||
|
|
||||||
|
String version = "v" + new BigDecimal(identifyBook.getVersion().substring(1)).add(new BigDecimal("0.1")); // 版本号
|
||||||
|
String fileName = "鉴定文书-" + version; |
||||||
|
String fileType = ".docx"; // 文件类型
|
||||||
|
String identifyBookPathFileName = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + one.getRelevanceBusinessId() + "/book/" + fileName; // 鉴定文书存储路径及文件名
|
||||||
|
// 上传文书
|
||||||
|
ByteArrayOutputStream bosWord = new ByteArrayOutputStream(); |
||||||
|
int readPos; |
||||||
|
final byte[] bytes_oss = new byte[1024]; |
||||||
|
while ((readPos = inputStream.read(bytes_oss)) != -1) { |
||||||
|
bosWord.write(bytes_oss, 0, readPos); |
||||||
|
} |
||||||
|
ByteArrayInputStream baisWord = new ByteArrayInputStream(bosWord.toByteArray()); |
||||||
|
boolean b1 = ossFile.fileSave(identifyBookPathFileName + fileType, baisWord); |
||||||
|
if (b1) { |
||||||
|
// 保存文书相关消息
|
||||||
|
this.saveIdentifyBookComm(one.getId(), identifyBookPathFileName + fileType, fileName + fileType, version, "修改文书"); |
||||||
|
} |
||||||
|
|
||||||
|
inputStream.close(); |
||||||
|
connection.disconnect(); |
||||||
|
} |
||||||
|
} catch (IOException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} catch (ParseException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
/** |
||||||
|
* status = 1,我们给onlyoffice的服务返回{"error":"0"}的信息,这样onlyoffice会认为回调接口是没问题的,这样就可以在线编辑文档了,否则的话会弹出窗口说明 |
||||||
|
* 在线编辑还没有关闭,前端有人下载文档时,强制保存最新内容 当status 是6时说明有人在编辑时下载文档 |
||||||
|
*/ |
||||||
|
System.out.println(jsonObj.get("status")); |
||||||
|
if ((long) jsonObj.get("status") == 6) { |
||||||
|
//处理当文档正在编辑为关闭时,下载文档
|
||||||
|
if (((String) jsonObj.get("userdata")).equals("sample userdata")) { |
||||||
|
// FileUtil.callBackSaveDocument(jsonObj,filePath,request, response);
|
||||||
|
} |
||||||
|
|
||||||
|
System.out.println("====保存失败:"); |
||||||
|
writer.write("{\"error\":1}"); |
||||||
|
} else { |
||||||
|
//执行删除编辑时下载保存的文件:
|
||||||
|
// FileUtil.deleteTempFile(filePath,request.getParameter("fileName"));
|
||||||
|
writer.write("{\"error\":0}"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 保存鉴定文书相关数据 |
||||||
|
* |
||||||
|
* @param identifyBookRelevanceId 关联ID |
||||||
|
* @param path 文件路径及文件名 |
||||||
|
* @param fileName 文件名 |
||||||
|
* @param version 版本号 |
||||||
|
* @return boolean |
||||||
|
*/ |
||||||
|
private boolean saveIdentifyBookComm(String identifyBookRelevanceId, String path, String fileName, |
||||||
|
String version, String remarks) { |
||||||
|
IdentifyBook identifyBook = new IdentifyBook(); |
||||||
|
identifyBook.setIdentifyBookRelevanceId(identifyBookRelevanceId); |
||||||
|
identifyBook.setBucketName(env.getProperty("oss.bucket-name")); |
||||||
|
identifyBook.setPath(path); |
||||||
|
identifyBook.setFileName(fileName); |
||||||
|
identifyBook.setVersion(version); |
||||||
|
identifyBook.setRemarks(remarks); |
||||||
|
return identifyBookService.save(identifyBook); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBook; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookRelevance; |
||||||
|
import digital.laboratory.platform.identifybook.service.IIdentifyBookService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiImplicitParam; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书信息表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定文书详细信息相关接口") |
||||||
|
@RequestMapping("/book/identifyBook") |
||||||
|
public class IdentifyBookController { |
||||||
|
|
||||||
|
private final OssFile ossFile; |
||||||
|
|
||||||
|
private final IIdentifyBookService identifyBookService; |
||||||
|
@ApiOperation(value = "根据根据文书ID查看文书", notes = "根据根据文书ID查看文书") |
||||||
|
@ApiImplicitParam(name = "bookId", value = "文书ID" , required = true) |
||||||
|
@GetMapping("/view/{id}") |
||||||
|
public R findBook(@PathVariable(value = "bookId") String bookId){ |
||||||
|
try { |
||||||
|
|
||||||
|
IdentifyBook identifyBook = identifyBookService.getById(bookId); |
||||||
|
String uuid= IdWorker.get32UUID(); |
||||||
|
return R.ok( uuid+"#"+identifyBook.getPath(), "获取文件成功"); |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("获取鉴定文书失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据根据文书ID删除文书", notes = "根据根据文书ID删除文书") |
||||||
|
@ApiImplicitParam(name = "bookId", value = "文书ID" , required = true) |
||||||
|
@DeleteMapping |
||||||
|
public R deleteById(@PathVariable(value = "bookId") String bookId){ |
||||||
|
try { |
||||||
|
IdentifyBook identifyBook = identifyBookService.getById(bookId); |
||||||
|
ossFile.fileDelete(identifyBook.getFileName()); |
||||||
|
boolean b = identifyBookService.removeById(bookId); |
||||||
|
if(b){ |
||||||
|
return R.ok(b, "删除成功!!!"); |
||||||
|
} |
||||||
|
return R.failed(b, "删除失败!!!"); |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("获取鉴定文书失败"); |
||||||
|
} |
||||||
|
@PostMapping("/uploadBookAttachment") |
||||||
|
@ApiOperation(value = "上传文书的附件,主要包含 鉴定事项确认书(1),委托书(2),检材照片(3),送检人证件照(4),原鉴定情况(5)", notes = "上传文书的附件,主要包含 鉴定事项确认书(1),委托书(2),检材照片(3),送检人证件照(4),原鉴定情况(5)") |
||||||
|
public R uploadBookAttachment(String attachType,String businessId ,List<MultipartFile> file){ |
||||||
|
Assert.notBlank(attachType,"附件类型参数不能为空"); |
||||||
|
Assert.notBlank(businessId,"业务ID参数不能为空"); |
||||||
|
return R.ok(identifyBookService.uploadIdentifyBookAttachment(attachType,file,businessId)); |
||||||
|
} |
||||||
|
//获取手动上传的文书附件
|
||||||
|
@GetMapping("/getUploadBookAttachment") |
||||||
|
@ApiOperation(value = "获取手动上传的文书附件,主要包含 鉴定事项确认书(1),委托书(2),检材照片(3),送检人证件照(4),原鉴定情况(5)", notes = "上传文书的附件,主要包含 鉴定事项确认书(1),委托书(2),检材照片(3),送检人证件照(4),原鉴定情况(5)") |
||||||
|
public R getAttachment(String businessId,String attachType){ |
||||||
|
return R.ok(identifyBookService.getAttachment(businessId,attachType)); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,123 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBook; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookRelevance; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IIdentifyBookRelevanceService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IIdentifyBookService; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiImplicitParam; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.PathVariable; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
import javax.activation.MimetypesFileTypeMap; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书关联中间表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定文书-相关接口") |
||||||
|
@RequestMapping("/book/identifyBookRelevance") |
||||||
|
public class IdentifyBookRelevanceController { |
||||||
|
|
||||||
|
private final OssFile ossFile; |
||||||
|
|
||||||
|
private final IIdentifyBookRelevanceService identifyBookRelevanceService; |
||||||
|
private final IIdentifyBookService identifyBookService; |
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
private final RemoteUserService remoteUserService; |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID获取鉴定文书", notes = "根据委托ID获取鉴定文书") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID" , required = true) |
||||||
|
@GetMapping("/getBook/{entrustId}") |
||||||
|
public R getBook(@PathVariable(value = "entrustId") String entrustId, HttpServletResponse response){ |
||||||
|
try { |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> entrustIds = new ArrayList<>(); |
||||||
|
List<Entrustment> entrustmentList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId, entrustment.getId()) |
||||||
|
); |
||||||
|
if(CollectionUtils.isNotEmpty(entrustmentList)){ |
||||||
|
entrustIds.addAll(entrustmentList.stream().map(m -> m.getId()).collect(Collectors.toList())); |
||||||
|
} |
||||||
|
IdentifyBookRelevance one = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.in(IdentifyBookRelevance::getRelevanceBusinessId, entrustIds)); |
||||||
|
if (ObjectUtils.isNotEmpty(one)) { |
||||||
|
IdentifyBook identifyBook = identifyBookService.getMaxVersionIdentifyBook(one.getId()); |
||||||
|
//ossFile.fileGet(identifyBook.getPath(), response.getOutputStream());
|
||||||
|
String uuid= IdWorker.get32UUID(); |
||||||
|
return R.ok( uuid+"#"+identifyBook.getPath(), "获取文件成功"); |
||||||
|
//response.setContentType(new MimetypesFileTypeMap().getContentType(identifyBook.getFileName()));
|
||||||
|
} |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("获取鉴定文书失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据委托ID获取鉴定文书制作或修订历史列表", notes = "根据委托ID获取鉴定文书制作或修订历史列表") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID" , required = true) |
||||||
|
@GetMapping("/findBookHistory/{entrustId}") |
||||||
|
public R findBookHistory(@PathVariable(value = "entrustId") String entrustId){ |
||||||
|
try { |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> entrustIds = new ArrayList<>(); |
||||||
|
List<Entrustment> entrustmentList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId,entrustId) |
||||||
|
); |
||||||
|
if(CollectionUtils.isNotEmpty(entrustmentList)){ |
||||||
|
entrustIds.addAll(entrustmentList.stream().map(m -> m.getId()).collect(Collectors.toList())); |
||||||
|
} |
||||||
|
IdentifyBookRelevance one = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.in(IdentifyBookRelevance::getRelevanceBusinessId, entrustIds)); |
||||||
|
if (ObjectUtils.isNotEmpty(one)) { |
||||||
|
// IdentifyBook identifyBook = identifyBookService.getMaxVersionIdentifyBook(one.getId());
|
||||||
|
List<IdentifyBook> identifyBookList = identifyBookService.list(new LambdaQueryWrapper<IdentifyBook>() |
||||||
|
.eq(IdentifyBook::getIdentifyBookRelevanceId, one.getId()) |
||||||
|
.orderByDesc(IdentifyBook::getCreateTime)); |
||||||
|
for (IdentifyBook identifyBook: identifyBookList){ |
||||||
|
if(StringUtils.isNotEmpty(identifyBook.getCreateBy())){ |
||||||
|
identifyBook.setOperateUserName(remoteUserService.innerGetById(identifyBook.getCreateBy()).getData().getName()); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
return R.ok(identifyBookList); |
||||||
|
} |
||||||
|
return R.ok(null, "该委托还未制作文书!!!"); |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("获取鉴定文书失败"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,238 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil; |
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.alibaba.fastjson.JSON; |
||||||
|
import com.alibaba.fastjson.JSONArray; |
||||||
|
import com.alibaba.fastjson.JSONObject; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.identifybook.entity.*; |
||||||
|
import digital.laboratory.platform.identifybook.service.*; |
||||||
|
import digital.laboratory.platform.sys.vo.CommonDataVO; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
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 java.util.ArrayList; |
||||||
|
import java.util.Comparator; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定数据-控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/18 16:35 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定数据相关接口") |
||||||
|
@RequestMapping("/book/identifyDataComm") |
||||||
|
public class IdentifyDataCommController { |
||||||
|
|
||||||
|
/** TODO START 委托相关基础信息 **/ |
||||||
|
private final ICaseEventService caseEventService; |
||||||
|
private final ICaseEvidenceService caseEvidenceService; |
||||||
|
private final IDelivererService delivererService; |
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
private final IEntrustmentIdentificationMaterialService entrustmentIdentificationMaterialService; |
||||||
|
private final IHairJobService hairJobService; |
||||||
|
private final IHairJobIdentificationMaterialService hairJobIdentificationMaterialService; |
||||||
|
private final IIdentificationService identificationService; |
||||||
|
private final ISampleService sampleService; |
||||||
|
private final ITakerService takerService; |
||||||
|
/** TODO END 委托相关基础信息 **/ |
||||||
|
|
||||||
|
private final IEntrustmentBundleService entrustmentBundleService; |
||||||
|
private final IExperimentService experimentService; |
||||||
|
private final IExaminationMethodsService examinationMethodsService; |
||||||
|
private final IResultEntrustmentQualitativeService resultEntrustmentQualitativeService; |
||||||
|
private final IResultEntrustmentRationService resultEntrustmentRationService; |
||||||
|
private final IBIdentificationProcessService identificationProcessService; |
||||||
|
|
||||||
|
private final IIdentifyBookRelevanceService identifyBookRelevanceService; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "保存委托相关数据", notes = "保存委托相关数据") |
||||||
|
@PostMapping("/commonEntrustRelated") |
||||||
|
public R commonEntrustRelated(@RequestBody CommonDataVO commonDataVO){ |
||||||
|
log.info("委托相关信息{}", commonDataVO); |
||||||
|
try { |
||||||
|
if(ObjectUtils.isNotEmpty(commonDataVO)){ |
||||||
|
// 委托信息 检验过程 鉴定状态表
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getEntrustmentList())){ |
||||||
|
log.info("委托信息:{}", commonDataVO.getEntrustmentList()); |
||||||
|
List<Entrustment> entrustmentList = BeanUtil.copyToList(commonDataVO.getEntrustmentList(), Entrustment.class); |
||||||
|
boolean b = entrustmentService.saveOrUpdateBatch(entrustmentList); |
||||||
|
if (b) { |
||||||
|
Entrustment entrustment; |
||||||
|
if(entrustmentList.size() > 1){ |
||||||
|
entrustment = entrustmentList |
||||||
|
.stream() |
||||||
|
.sorted(Comparator.comparing(Entrustment::getCreateTime)) |
||||||
|
.collect(Collectors.toList()).get(0); |
||||||
|
} else { |
||||||
|
entrustment = entrustmentList.get(0); |
||||||
|
} |
||||||
|
List<String> stringIDSList = entrustmentList.stream().map(m -> m.getId()).collect(Collectors.toList()); |
||||||
|
IdentifyBookRelevance identifyBookRelevance = identifyBookRelevanceService.getOne(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.in(IdentifyBookRelevance::getRelevanceBusinessId, stringIDSList)); |
||||||
|
if(ObjectUtils.isEmpty(identifyBookRelevance)){ |
||||||
|
String[] arrNo = entrustment.getAcceptNo().split("-"); |
||||||
|
identifyBookRelevance = new IdentifyBookRelevance(); |
||||||
|
identifyBookRelevance.setRelevanceBusinessId(entrustment.getId()); |
||||||
|
identifyBookRelevance.setYear(arrNo[0]); |
||||||
|
identifyBookRelevance.setSerialNumber(arrNo[1]); |
||||||
|
identifyBookRelevance.setBookStatus(-1); |
||||||
|
boolean save = identifyBookRelevanceService.save(identifyBookRelevance); |
||||||
|
if(!save){ |
||||||
|
throw new RuntimeException("保存文书关联消息失败!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 检验过程
|
||||||
|
BIdentificationProcess identificationProcess = new BIdentificationProcess(); |
||||||
|
identificationProcess.setId(entrustment.getId()); |
||||||
|
identificationProcess.setInspectionProcess( |
||||||
|
StringUtils.isNotEmpty(commonDataVO.getIdentificationProcess()) ? commonDataVO.getIdentificationProcess() : ""); |
||||||
|
boolean saveOrUpdate = identificationProcessService.saveOrUpdate(identificationProcess); |
||||||
|
if(!saveOrUpdate){ |
||||||
|
throw new RuntimeException("保存文书关联检验过程失败!!!"); |
||||||
|
} |
||||||
|
log.info("保存或更新委托成功!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
// 委托关联案件信息 --
|
||||||
|
if(ObjectUtils.isNotEmpty(commonDataVO.getCaseEvent())){ |
||||||
|
log.info("委托关联案件信息:{}", commonDataVO.getCaseEvent()); |
||||||
|
CaseEvent caseEvent = new CaseEvent(); |
||||||
|
BeanUtil.copyProperties(commonDataVO.getCaseEvent(), caseEvent); |
||||||
|
boolean b = caseEventService.saveOrUpdate(caseEvent); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新案件成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 委托案件关联物证 --
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getCaseEvidence())){ |
||||||
|
log.info("委托案件关联物证:{}", commonDataVO.getCaseEvidence()); |
||||||
|
List<CaseEvidence> caseEvidenceList = BeanUtil.copyToList(commonDataVO.getCaseEvidence(), CaseEvidence.class); |
||||||
|
boolean b = caseEvidenceService.saveOrUpdateBatch(caseEvidenceList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新委托物证成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 检材信息
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getEntrustmentIdentificationMaterial())){ |
||||||
|
log.info("检材信息:{}", commonDataVO.getEntrustmentIdentificationMaterial()); |
||||||
|
List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterialList = |
||||||
|
BeanUtil.copyToList(commonDataVO.getEntrustmentIdentificationMaterial(), EntrustmentIdentificationMaterial.class); |
||||||
|
boolean b = entrustmentIdentificationMaterialService.saveOrUpdateBatch(entrustmentIdentificationMaterialList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新检材消息成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 鉴定表,一个鉴定可能会有多个委托
|
||||||
|
if(ObjectUtils.isNotEmpty(commonDataVO.getIdentification())){ |
||||||
|
log.info("鉴定表,一个鉴定可能会有多个委托:{}", commonDataVO.getIdentification()); |
||||||
|
Identification identification = new Identification(); |
||||||
|
BeanUtil.copyProperties(commonDataVO.getIdentification(), identification); |
||||||
|
boolean b = identificationService.saveOrUpdate(identification); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新鉴定表成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 检验用的样本
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getSample())){ |
||||||
|
log.info("检验用的样本:{}", commonDataVO.getSample()); |
||||||
|
List<Map> copyToList = BeanUtil.copyToList(commonDataVO.getSample(), Map.class); |
||||||
|
// List<Sample> sampleList = BeanUtil.copyToList(commonDataVO.getSample(), Sample.class);
|
||||||
|
List<Sample> sampleList = new ArrayList<>(); |
||||||
|
for (Map map: copyToList){ |
||||||
|
log.info("map.get(sampleInfo): {}",map.get("sampleInfo")); |
||||||
|
// sampleList.add(BeanUtil.copyProperties(map.get("sampleInfo"), Sample.class));
|
||||||
|
//传递过来的数据中 sampleInfo可能为空
|
||||||
|
if(map.get("sampleInfo")!=null){ |
||||||
|
sampleList.add(JSON.parseObject(JSON.toJSONString(map.get("sampleInfo")), Sample.class)); |
||||||
|
}else{ |
||||||
|
log.info("map.get(sampleInfo): {},sampleId={} experimentId={} 这个为空",map.get("sampleInfo"),map.get("sampleId"),map.get("experimentId")); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
log.info("检验用的样本sampleList:{}", sampleList); |
||||||
|
boolean b = sampleService.saveOrUpdateBatch(sampleList); |
||||||
|
log.info("检验用的样本sampleList-当这里么!!!"); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新检验用的样本成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 委托与实验关系
|
||||||
|
if(ObjectUtils.isNotEmpty(commonDataVO.getEntrustmentBundle())){ |
||||||
|
log.info("委托与实验关系:{}", commonDataVO.getEntrustmentBundle()); |
||||||
|
EntrustmentBundle entrustmentBundle = new EntrustmentBundle(); |
||||||
|
BeanUtil.copyProperties(commonDataVO.getEntrustmentBundle(), entrustmentBundle); |
||||||
|
boolean b = entrustmentBundleService.saveOrUpdate(entrustmentBundle); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新委托与实验关系成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 实验列表
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getExperimentList())){ |
||||||
|
log.info("实验列表:{}", commonDataVO.getExperimentList()); |
||||||
|
List<Experiment> experimentList = BeanUtil.copyToList(commonDataVO.getExperimentList(), Experiment.class); |
||||||
|
boolean b = experimentService.saveOrUpdateBatch(experimentList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新实验列表成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 检验方法列表
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getMethodList())){ |
||||||
|
log.info("检验方法列表:{}", commonDataVO.getMethodList()); |
||||||
|
List<ExaminationMethods> examinationMethodsList = BeanUtil.copyToList(commonDataVO.getMethodList(), ExaminationMethods.class); |
||||||
|
boolean b = examinationMethodsService.saveOrUpdateBatch(examinationMethodsList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新检验方法列表成功!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 定性检验结果
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getResultEntrustmentQualitative())){ |
||||||
|
log.info("定性检验结果:{}", commonDataVO.getResultEntrustmentQualitative()); |
||||||
|
List<ResultEntrustmentQualitative> resultEntrustmentQualitativeList = |
||||||
|
BeanUtil.copyToList(commonDataVO.getResultEntrustmentQualitative(), ResultEntrustmentQualitative.class); |
||||||
|
boolean b = resultEntrustmentQualitativeService.saveOrUpdateBatch(resultEntrustmentQualitativeList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新定性检验结果!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
// 定量检验结果
|
||||||
|
if(CollectionUtils.isNotEmpty(commonDataVO.getResultEntrustmentRation())){ |
||||||
|
log.info("定量检验结果:{}", commonDataVO.getResultEntrustmentRation()); |
||||||
|
List<ResultEntrustmentRation> resultEntrustmentRationList = |
||||||
|
BeanUtil.copyToList(commonDataVO.getResultEntrustmentRation(), ResultEntrustmentRation.class); |
||||||
|
boolean b = resultEntrustmentRationService.saveOrUpdateBatch(resultEntrustmentRationList); |
||||||
|
if (b) { |
||||||
|
log.info("保存或更新定量检验结果!!!"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}catch (Exception e){ |
||||||
|
e.printStackTrace(); |
||||||
|
return R.failed("保存或更新委托及鉴定结果异常,请联系管理员!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,174 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.identifybook.emums.BusinessStatus; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookApprove; |
||||||
|
import digital.laboratory.platform.identifybook.entity.ModifySupplementApply; |
||||||
|
import digital.laboratory.platform.identifybook.req.ModifySupplementApplyREQ; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IModifySupplementApplyService; |
||||||
|
import digital.laboratory.platform.identifybook.utils.Word2PdfAsposeUtil; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.security.oauth2.provider.OAuth2Authentication; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.activation.MimetypesFileTypeMap; |
||||||
|
import javax.servlet.ServletOutputStream; |
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.ByteArrayInputStream; |
||||||
|
import java.io.ByteArrayOutputStream; |
||||||
|
import java.security.Principal; |
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书修改补充申请表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "鉴定文书修改补充申请相关接口") |
||||||
|
@RequestMapping("/book/modifySupplementApply") |
||||||
|
public class ModifySupplementApplyController { |
||||||
|
|
||||||
|
private final OssFile ossFile; |
||||||
|
|
||||||
|
private final IModifySupplementApplyService modifySupplementApplyService; |
||||||
|
|
||||||
|
private final RemoteUserService remoteUserService; |
||||||
|
|
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
@ApiOperation(value = "保存/更新鉴定文书修改补充申请信息", notes = "保存/更新鉴定文书修改补充申请信息") |
||||||
|
@PostMapping |
||||||
|
public R<ModifySupplementApply> addOrUpdate(@RequestBody ModifySupplementApply modifySupplementApply, HttpServletRequest request){ |
||||||
|
// 获取用户消息
|
||||||
|
Principal principal = request.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
// 查询当前是否已经申请并且还没有审批完成的记录
|
||||||
|
ModifySupplementApply existInfo = modifySupplementApplyService |
||||||
|
.getOne(Wrappers.<ModifySupplementApply>lambdaQuery() |
||||||
|
.eq(ModifySupplementApply::getEntrustmentId, modifySupplementApply.getEntrustmentId()) |
||||||
|
.eq(ModifySupplementApply::getApplyBy, dlpUser.getId()) |
||||||
|
.notIn(ModifySupplementApply::getStatus, |
||||||
|
Arrays.asList(BusinessStatus.JD_WS_XG_BC_SP_TG.getCode(), BusinessStatus.JD_WS_XG_BC_SP_WTG.getCode()))); |
||||||
|
if (existInfo != null) { |
||||||
|
throw new RuntimeException("当前您有未审批完成的申请,请先处理当前申请!"); |
||||||
|
} |
||||||
|
Entrustment entrustment = entrustmentService.getById(modifySupplementApply.getEntrustmentId()); |
||||||
|
String[] split = entrustment.getAcceptNo().split("-"); |
||||||
|
modifySupplementApply.setApplyBy(dlpUser.getId()); |
||||||
|
modifySupplementApply.setYear(split[0]); |
||||||
|
modifySupplementApply.setSerialNumber(split[1]); |
||||||
|
modifySupplementApply.setStatus(0); |
||||||
|
modifySupplementApply.setApplyTime(new Date()); |
||||||
|
modifySupplementApply.setUpdateTime(new Date()); |
||||||
|
if(modifySupplementApplyService.saveOrUpdate(modifySupplementApply)){ |
||||||
|
return R.ok(modifySupplementApply); |
||||||
|
} |
||||||
|
return R.failed("保存或更新失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "获取当前用户是否有未审批的申请修改记录信息", notes = "获取当前用户是否有未审批的申请修改记录信息") |
||||||
|
@GetMapping("/getNotApproveApplyInfo") |
||||||
|
public R<ModifySupplementApply> getNotApproveApplyInfoByUser(@RequestParam String entrustId, HttpServletRequest request){ |
||||||
|
// 获取用户消息
|
||||||
|
Principal principal = request.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
// 查询当前是否已经申请并且还没有审批完成的记录
|
||||||
|
ModifySupplementApply existInfo = modifySupplementApplyService |
||||||
|
.getOne(Wrappers.<ModifySupplementApply>lambdaQuery() |
||||||
|
.eq(ModifySupplementApply::getEntrustmentId, entrustId) |
||||||
|
.eq(ModifySupplementApply::getApplyBy, dlpUser.getId()) |
||||||
|
.notIn(ModifySupplementApply::getStatus, |
||||||
|
Arrays.asList(BusinessStatus.JD_WS_XG_BC_SP_TG.getCode(), BusinessStatus.JD_WS_XG_BC_SP_WTG.getCode()))); |
||||||
|
// 如果查询为空则new一个实例返回
|
||||||
|
return R.ok(existInfo == null ? new ModifySupplementApply() : existInfo); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "通过鉴定文书修改补充申请ID删除鉴定文书修改补充申请信息", notes = "通过鉴定文书修改补充申请ID删除鉴定文书修改补充申请信息") |
||||||
|
@DeleteMapping("/{id}") |
||||||
|
public R<String> del(@PathVariable("id") String id){ |
||||||
|
if(modifySupplementApplyService.removeById(id)){ |
||||||
|
return R.ok(); |
||||||
|
} |
||||||
|
return R.failed("删除鉴定文书修改补充申请信息失败!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "通过鉴定文书修改补充申请ID查询鉴定文书修改补充申请信息", notes = "通过鉴定文书修改补充申请ID查询职鉴定文书修改补充申请信息") |
||||||
|
@GetMapping("/view/{id}") |
||||||
|
public R<ModifySupplementApply> view(@PathVariable("id") String id){ |
||||||
|
ModifySupplementApply modifySupplementApply = modifySupplementApplyService.getById(id); |
||||||
|
if(ObjectUtils.isNotEmpty(modifySupplementApply)){ |
||||||
|
if(StringUtils.isNotEmpty(modifySupplementApply.getEntrustBy()) && StringUtils.isEmpty(modifySupplementApply.getEntrustUserName())){ |
||||||
|
modifySupplementApply.setEntrustUserName( |
||||||
|
remoteUserService.innerGetById(modifySupplementApply.getEntrustBy()).getData().getName()); |
||||||
|
} |
||||||
|
|
||||||
|
return R.ok(modifySupplementApply); |
||||||
|
} |
||||||
|
return R.failed("查询鉴定文书修改补充申请信息失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "通过条件分页查询鉴定文书修改补充申请信息", notes = "通过条件分页查询鉴定文书修改补充申请信息") |
||||||
|
@PostMapping("/search") |
||||||
|
public R<IPage<ModifySupplementApply>> getCareerCredentialsPage(@RequestBody ModifySupplementApplyREQ req){ |
||||||
|
IPage<ModifySupplementApply> modifySupplementApplyIPage = modifySupplementApplyService.page( |
||||||
|
req.getPage(), null); |
||||||
|
if(CollectionUtils.isNotEmpty(modifySupplementApplyIPage.getRecords())){ |
||||||
|
for (ModifySupplementApply modifySupplementApply: modifySupplementApplyIPage.getRecords()) { |
||||||
|
if(StringUtils.isNotEmpty(modifySupplementApply.getEntrustBy())){ |
||||||
|
modifySupplementApply.setEntrustUserName( |
||||||
|
remoteUserService.innerGetById(modifySupplementApply.getEntrustBy()).getData().getName()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return R.ok(modifySupplementApplyIPage); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "根据鉴定文书修改补充申请ID获取鉴定文书修改补充申请文件", notes = "根据鉴定文书修改补充申请ID获取鉴定文书修改补充申请文件") |
||||||
|
@GetMapping("/getIdentifyBookApprove/{id}") |
||||||
|
public R getModifySupplementApplyWord(@PathVariable(value = "id") String id, HttpServletResponse response){ |
||||||
|
try { |
||||||
|
ModifySupplementApply modifySupplementApply = modifySupplementApplyService.getById(id); |
||||||
|
if (ObjectUtils.isNotEmpty(modifySupplementApply) && StringUtils.isNotEmpty(modifySupplementApply.getPath())){ |
||||||
|
|
||||||
|
ByteArrayOutputStream bosWord = new ByteArrayOutputStream(); |
||||||
|
ossFile.fileGet(modifySupplementApply.getPath(), bosWord); |
||||||
|
// ossFile.fileGet(modifySupplementApply.getPath(), response.getOutputStream());
|
||||||
|
ServletOutputStream servletOutputStream = response.getOutputStream(); |
||||||
|
byte[] pdfByte = Word2PdfAsposeUtil.docx2pdf(new ByteArrayInputStream(bosWord.toByteArray())); |
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream(pdfByte.length); |
||||||
|
baos.write(pdfByte, 0, pdfByte.length); |
||||||
|
baos.writeTo(servletOutputStream); |
||||||
|
response.setContentType(new MimetypesFileTypeMap().getContentType( |
||||||
|
modifySupplementApply.getFileName().substring(0, modifySupplementApply.getFileName().length() - 5) + ".pdf")); |
||||||
|
// String uuid= IdWorker.get32UUID();
|
||||||
|
// return R.ok( uuid+"#"+modifySupplementApply.getPath(), "获取文件成功");
|
||||||
|
} |
||||||
|
}catch (Exception e){ |
||||||
|
System.out.println("获取鉴定文书审批表异常" + e.getMessage()); |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
return R.failed("获取鉴定文书修改补充申请文件失败"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,171 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustmentDTO; |
||||||
|
import digital.laboratory.platform.identifybook.dto.ReceiveIdentifyBookDTO; |
||||||
|
import digital.laboratory.platform.identifybook.emums.BusinessStatus; |
||||||
|
import digital.laboratory.platform.identifybook.entity.CaseEvent; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.identifybook.entity.EntrustmentIdentificationMaterial; |
||||||
|
import digital.laboratory.platform.identifybook.entity.ReceiveIdentifyBook; |
||||||
|
import digital.laboratory.platform.identifybook.req.EntrustmentREQ; |
||||||
|
import digital.laboratory.platform.identifybook.service.ICaseEventService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentIdentificationMaterialService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IReceiveIdentifyBookService; |
||||||
|
import digital.laboratory.platform.identifybook.utils.BaseRequest; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiImplicitParam; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 领取鉴定文书信息表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-30 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "领取鉴定文书信息-相关接口") |
||||||
|
@RequestMapping("/book/receiveIdentifyBook") |
||||||
|
public class ReceiveIdentifyBookController { |
||||||
|
|
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
private final ICaseEventService caseEventService; |
||||||
|
|
||||||
|
private final IEntrustmentIdentificationMaterialService entrustmentIdentificationMaterialService; |
||||||
|
|
||||||
|
private final IReceiveIdentifyBookService receiveIdentifyBookService; |
||||||
|
|
||||||
|
@ApiOperation(value = "根据条件分页查询委托数据列表", notes = "根据条件分页查询委托数据列表") |
||||||
|
@PostMapping("/findReceiveIdentifyBookPage") |
||||||
|
public R<IPage<ReceiveIdentifyBookDTO>> findEntrustPage(@RequestBody EntrustmentREQ req){ |
||||||
|
if(req.getBookStatusList().size() == 1){ |
||||||
|
if(req.getBookStatusList().get(0).equals("4")){ |
||||||
|
IPage<EntrustmentDTO> entrustPage = entrustmentService.findEntrustPage(req.getPage(), req); |
||||||
|
IPage<ReceiveIdentifyBookDTO> bookDTOIPage = new Page<>(); |
||||||
|
bookDTOIPage.setCurrent(entrustPage.getCurrent()); |
||||||
|
bookDTOIPage.setPages(entrustPage.getPages()); |
||||||
|
bookDTOIPage.setSize(entrustPage.getSize()); |
||||||
|
bookDTOIPage.setTotal(entrustPage.getTotal()); |
||||||
|
List<ReceiveIdentifyBookDTO> receiveIdentifyBookDTOList = new ArrayList<>(); |
||||||
|
for (EntrustmentDTO entrustmentDTO: entrustPage.getRecords()){ |
||||||
|
ReceiveIdentifyBookDTO receiveIdentifyBookDTO = new ReceiveIdentifyBookDTO(); |
||||||
|
List<String> stringIDSList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustmentDTO.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId, entrustmentDTO.getId()) |
||||||
|
) |
||||||
|
.stream().map(m -> m.getId()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
receiveIdentifyBookDTO.setEntrustId(entrustmentDTO.getId()); |
||||||
|
receiveIdentifyBookDTO.setSampleNum(entrustmentDTO.getMaterialNum()); |
||||||
|
BeanUtil.copyProperties(entrustmentDTO, receiveIdentifyBookDTO); |
||||||
|
/* List<ReceiveIdentifyBook> receiveIdentifyBookList = receiveIdentifyBookService.list(new LambdaQueryWrapper<ReceiveIdentifyBook>() |
||||||
|
.in(ReceiveIdentifyBook::getRelevanceBusinessId, stringIDSList)); |
||||||
|
if(CollectionUtils.isNotEmpty(receiveIdentifyBookList)){ |
||||||
|
BeanUtil.copyProperties(receiveIdentifyBookList.get(0), receiveIdentifyBookDTO); |
||||||
|
receiveIdentifyBookDTO.setReceiveId(receiveIdentifyBookList.get(0).getId()); |
||||||
|
receiveIdentifyBookDTO.setStatus(2); |
||||||
|
} else { |
||||||
|
receiveIdentifyBookDTO.setStatus(1); |
||||||
|
}*/ |
||||||
|
receiveIdentifyBookDTO.setCaseName(entrustmentDTO.getCaseName()); |
||||||
|
receiveIdentifyBookDTO.setAcceptNo(entrustmentDTO.getAcceptNo()); |
||||||
|
receiveIdentifyBookDTO.setAcceptTime(entrustmentDTO.getAcceptTime()); |
||||||
|
receiveIdentifyBookDTO.setStatus(1); |
||||||
|
if (StrUtil.isBlank(receiveIdentifyBookDTO.getReceiveWay())) { |
||||||
|
receiveIdentifyBookDTO.setReceiveWay(entrustmentDTO.getReportReceiveMode());//优先使用原来的领取方式
|
||||||
|
receiveIdentifyBookDTO.setPostAddress(entrustmentDTO.getPostAddress()); |
||||||
|
} |
||||||
|
receiveIdentifyBookDTOList.add(receiveIdentifyBookDTO); |
||||||
|
} |
||||||
|
bookDTOIPage.setRecords(receiveIdentifyBookDTOList); |
||||||
|
return R.ok(bookDTOIPage); |
||||||
|
} else { |
||||||
|
BaseRequest<ReceiveIdentifyBook> request = new BaseRequest<>(); |
||||||
|
request.setCurrent(req.getCurrent()); |
||||||
|
request.setSize(req.getSize()); |
||||||
|
IPage<ReceiveIdentifyBookDTO> receiveIdentifyBookDTOIPage = |
||||||
|
receiveIdentifyBookService.pageReceiveIdentifyBook(request.getPage(), req.getKey()); |
||||||
|
if(CollectionUtils.isNotEmpty(receiveIdentifyBookDTOIPage.getRecords())){ |
||||||
|
for (ReceiveIdentifyBookDTO receiveIdentifyBookDTO: receiveIdentifyBookDTOIPage.getRecords()){ |
||||||
|
Entrustment entrustment = entrustmentService.getById(receiveIdentifyBookDTO.getEntrustId()); |
||||||
|
List<String> stringIDSList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
//.eq(Entrustment::getIdentificationId, entrustment.getIdentificationId())
|
||||||
|
.eq(Entrustment::getId, entrustment.getId()) |
||||||
|
) |
||||||
|
.stream().map(m -> m.getId()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
receiveIdentifyBookDTO.setCaseName(entrustment.getCaseName()); |
||||||
|
receiveIdentifyBookDTO.setSampleNum(entrustment.getMaterialNum()); |
||||||
|
receiveIdentifyBookDTO.setAcceptTime(entrustment.getAcceptTime()); |
||||||
|
receiveIdentifyBookDTO.setAcceptNo(entrustment.getAcceptNo()); |
||||||
|
receiveIdentifyBookDTO.setStatus(2); |
||||||
|
if (StrUtil.isBlank(receiveIdentifyBookDTO.getReceiveWay())) { |
||||||
|
receiveIdentifyBookDTO.setReceiveWay(entrustment.getReportReceiveMode());//优先使用原来的领取方式
|
||||||
|
receiveIdentifyBookDTO.setPostAddress(entrustment.getPostAddress()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
return R.ok(receiveIdentifyBookDTOIPage); |
||||||
|
} |
||||||
|
} |
||||||
|
return R.ok(null,"未查询到数据"); |
||||||
|
|
||||||
|
} |
||||||
|
@ApiOperation(value = "根据委托ID查看发放领取详情", notes = "根据委托ID查看发放领取详情") |
||||||
|
@ApiImplicitParam(name = "entrustId", value = "委托ID" , required = true) |
||||||
|
@GetMapping("/view/{entrustId}") |
||||||
|
public R<ReceiveIdentifyBookDTO> view(@PathVariable(value = "entrustId") String entrustId){ |
||||||
|
Entrustment entrustment = entrustmentService.getById(entrustId); |
||||||
|
List<String> stringIDSList = entrustmentService.list(new LambdaQueryWrapper<Entrustment>() |
||||||
|
.select(Entrustment::getId) |
||||||
|
.eq(Entrustment::getIdentificationId, |
||||||
|
entrustment.getIdentificationId())) |
||||||
|
.stream().map(m -> m.getId()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
List<ReceiveIdentifyBook> receiveIdentifyBookList = receiveIdentifyBookService.list( |
||||||
|
new LambdaQueryWrapper<ReceiveIdentifyBook>() |
||||||
|
.in(ReceiveIdentifyBook::getRelevanceBusinessId, stringIDSList)); |
||||||
|
if(CollectionUtils.isNotEmpty(receiveIdentifyBookList)){ |
||||||
|
ReceiveIdentifyBookDTO receiveIdentifyBookDTO = new ReceiveIdentifyBookDTO(); |
||||||
|
BeanUtil.copyProperties(receiveIdentifyBookList.get(0), receiveIdentifyBookDTO); |
||||||
|
CaseEvent caseEvent = caseEventService.getById(entrustment.getCaseId()); |
||||||
|
receiveIdentifyBookDTO.setReceiveId(receiveIdentifyBookList.get(0).getId()); |
||||||
|
receiveIdentifyBookDTO.setEntrustId(receiveIdentifyBookList.get(0).getRelevanceBusinessId()); |
||||||
|
receiveIdentifyBookDTO.setDeliverer1Name(entrustment.getDeliverer1Name()); |
||||||
|
receiveIdentifyBookDTO.setDeliverer2Name(entrustment.getDeliverer2Name()); |
||||||
|
receiveIdentifyBookDTO.setDeliverTime(entrustment.getDeliverTime()); |
||||||
|
receiveIdentifyBookDTO.setIdentificationDomain(entrustment.getIdentificationDomain()); |
||||||
|
receiveIdentifyBookDTO.setCaseNo(caseEvent.getCaseNo()); |
||||||
|
receiveIdentifyBookDTO.setThirdPartySysNo(caseEvent.getThirdPartySysNo()); |
||||||
|
receiveIdentifyBookDTO.setCaseName(caseEvent.getCaseName()); |
||||||
|
receiveIdentifyBookDTO.setSampleNum(entrustment.getMaterialNum()); |
||||||
|
return R.ok(receiveIdentifyBookDTO); |
||||||
|
} |
||||||
|
|
||||||
|
return R.failed("为获取到相关数据!!!!"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定性分析检验结果 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/resultEntrustmentQualitative") |
||||||
|
public class ResultEntrustmentQualitativeController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定量检验结果 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/resultEntrustmentRation") |
||||||
|
public class ResultEntrustmentRationController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验用的样本 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/sample") |
||||||
|
public class SampleController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 采集员 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/book/taker") |
||||||
|
public class TakerController { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; |
||||||
|
import digital.laboratory.platform.identifybook.entity.TaskNotification; |
||||||
|
import digital.laboratory.platform.identifybook.req.TaskNotificationREQ; |
||||||
|
import digital.laboratory.platform.identifybook.service.ITaskNotificationService; |
||||||
|
import digital.laboratory.platform.identifybook.vo.TaskNotificationVO; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.security.oauth2.provider.OAuth2Authentication; |
||||||
|
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 javax.servlet.http.HttpServletRequest; |
||||||
|
import java.security.Principal; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 任务信息表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-31 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(tags = "审核审批签发-相关接口") |
||||||
|
@RequestMapping("/book/taskNotification") |
||||||
|
public class TaskNotificationController { |
||||||
|
|
||||||
|
private final ITaskNotificationService taskNotificationService; |
||||||
|
|
||||||
|
@ApiOperation(value = "根据条件分页查询任务/任务记录列表", notes = "根据条件分页查询任务/任务记录列表") |
||||||
|
@PostMapping("/findTaskNotification") |
||||||
|
public R<IPage<TaskNotificationVO>> findTaskNotification(@RequestBody TaskNotificationREQ req, HttpServletRequest theHttpServletRequest){ |
||||||
|
// 获取当前登录用户信息
|
||||||
|
Principal principal = theHttpServletRequest.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
IPage<TaskNotificationVO> page = taskNotificationService.queryTaskNotificationPage(req, dlpUser); |
||||||
|
return R.ok(page); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,108 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.controller; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; |
||||||
|
import digital.laboratory.platform.identifybook.emums.BusinessStatus; |
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookRelevance; |
||||||
|
import digital.laboratory.platform.identifybook.service.IEntrustmentService; |
||||||
|
import digital.laboratory.platform.identifybook.service.IIdentifyBookRelevanceService; |
||||||
|
import digital.laboratory.platform.identifybook.service.ITaskNotificationService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.security.oauth2.provider.OAuth2Authentication; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import java.security.Principal; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
import java.util.stream.Stream; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 公共数据统计 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-31 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api( tags = "公共数据统计-相关接口管理") |
||||||
|
@RequestMapping("/book/commDataStatistics") |
||||||
|
public class commDataStatisticsController { |
||||||
|
|
||||||
|
private final ITaskNotificationService taskNotificationService; |
||||||
|
|
||||||
|
private final IEntrustmentService entrustmentService; |
||||||
|
|
||||||
|
private final IIdentifyBookRelevanceService identifyBookRelevanceService; |
||||||
|
|
||||||
|
@ApiOperation(value = "综合统计", notes = "综合统计") |
||||||
|
@GetMapping("/comprehensiveStatistics") |
||||||
|
public R comprehensiveStatistics(HttpServletRequest theHttpServletRequest){ |
||||||
|
Principal principal = theHttpServletRequest.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
Map<String, Object> mapTotal= new HashMap<>(); |
||||||
|
// 鉴定文书列表任务统计
|
||||||
|
long countWSLBSum = entrustmentService.countWSLBSum(Stream.of(-1, -2, 3, -4, 5, 7).collect(Collectors.toList())); |
||||||
|
// 审核审批签发任务统计
|
||||||
|
long countRWSum = taskNotificationService.countRWSum(dlpUser); |
||||||
|
// 鉴定文书签发领取任务统计
|
||||||
|
long countQFLQSum = identifyBookRelevanceService.count(new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.eq(IdentifyBookRelevance::getBookStatus, BusinessStatus.JD_WS_SP_QF_TG.getCode())); |
||||||
|
|
||||||
|
mapTotal.put("countWSLBSum", countWSLBSum); |
||||||
|
mapTotal.put("countRWSum", countRWSum); |
||||||
|
mapTotal.put("countQFLQSum", countQFLQSum); |
||||||
|
return R.ok(mapTotal, "countWSLBSum:鉴定文书列表统计结果,countRWSum:审核审批任务统计结果,countQFLQSum:签发领取任务结果"); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "审核审批任务统计", notes = "审核审批任务统计") |
||||||
|
@GetMapping("/reviewAndApprovalTaskStatistics") |
||||||
|
public R reviewAndApprovalTaskStatistics(HttpServletRequest theHttpServletRequest){ |
||||||
|
// 获取当前登录用户信息
|
||||||
|
Principal principal = theHttpServletRequest.getUserPrincipal(); |
||||||
|
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); |
||||||
|
|
||||||
|
return R.ok(taskNotificationService.countRWSum(dlpUser)); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "鉴定文书任务列表/待制作/退回修改任务统计", notes = "鉴定文书任务列表/待制作/退回修改任务统计") |
||||||
|
@GetMapping("/identifyBookDZZORTHXGTaskStatistics") |
||||||
|
public R identifyBookDZZORTHXGTaskStatistics(){ |
||||||
|
Map<String, Object> mapTotal= new HashMap<>(); |
||||||
|
// 鉴定文书任务列表/待制作统计
|
||||||
|
long countWSLBDZZSum = entrustmentService.countWSLBSum(Stream.of(-1).collect(Collectors.toList())); |
||||||
|
// 鉴定文书任务列表/退回修改/补充
|
||||||
|
long countWSLBTHXGSum = entrustmentService.countWSLBSum(Stream.of(3, 5).collect(Collectors.toList())); |
||||||
|
// 鉴定文书任务列表/重新制作
|
||||||
|
long countWSLBCXZZSum = entrustmentService.countWSLBSum(Stream.of(-2, -4, 7).collect(Collectors.toList())); |
||||||
|
mapTotal.put("countWSLBDZZSum", countWSLBDZZSum); |
||||||
|
mapTotal.put("countWSLBTHXGSum", countWSLBTHXGSum); |
||||||
|
mapTotal.put("countWSLBCXZZSum", countWSLBCXZZSum); |
||||||
|
|
||||||
|
return R.ok(mapTotal, "countWSLBDZZSum:鉴定文书待制作任务统计结果、countWSLBTHXGSum:鉴定文书退回修改任务统计结果、countWSLBCXZZSum:鉴定文书任务列表/重新制作"); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "鉴定文书签发待领取任务统计", notes = "鉴定文书签发待领取任务统计") |
||||||
|
@GetMapping("/identifyBookQFDLQTaskStatistics") |
||||||
|
public R identifyBookQFDLQTaskStatistics(){ |
||||||
|
return R.ok(identifyBookRelevanceService.count( |
||||||
|
new LambdaQueryWrapper<IdentifyBookRelevance>() |
||||||
|
.eq(IdentifyBookRelevance::getBookStatus, BusinessStatus.JD_WS_SP_QF_TG.getCode()))); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,130 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/24 10:15 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "EntrustCaseDTO对象", description = "封装委托及案件相关属性") |
||||||
|
public class EntrustCaseDTO { |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托Id") |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托编号") |
||||||
|
private String entrustmentNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "对应的流程实例Id") |
||||||
|
private String processInstanceId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理Id, 通过这个可以得到鉴定号") |
||||||
|
private String identificationId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定委托单位名称") |
||||||
|
private String clientOrgName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托鉴定专业") |
||||||
|
private String identificationDomain; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定机构名称") |
||||||
|
private String identificationOrgName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定要求") |
||||||
|
private String entrustRequirement; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "其他鉴定要求") |
||||||
|
private String otherIdentificationRequests; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否由委托方指定鉴定方法") |
||||||
|
private Boolean isClientSpecifiedMethod; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托方指定的鉴定方法") |
||||||
|
private String clientSpecifiedMethod; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检验的其他说明(鉴定事项确认书中要求, 审核人填写)") |
||||||
|
private String otherIdentificationNotes; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人1姓名") |
||||||
|
private String deliverer1Name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人1职务") |
||||||
|
private String deliverer1Position; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人1证件名称") |
||||||
|
private String deliverer1Cert; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人1证件编号") |
||||||
|
private String deliverer1Id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人1电话") |
||||||
|
private String deliverer1Phone; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人2姓名") |
||||||
|
private String deliverer2Name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人2职务") |
||||||
|
private String deliverer2Position; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人2证件名称") |
||||||
|
private String deliverer2Cert; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人2证件编号") |
||||||
|
private String deliverer2Id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检人2电话") |
||||||
|
private String deliverer2Phone; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定编号") |
||||||
|
private String identificationNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理编号") |
||||||
|
private String acceptNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理人user_id") |
||||||
|
private String acceptUser; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理时间") |
||||||
|
private Date acceptTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理意见") |
||||||
|
private String acceptComments; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件编号") |
||||||
|
private String caseNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "第三方系统(如现勘系统、案事件系统)编号") |
||||||
|
private String thirdPartySysNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件名称任务名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案发时间") |
||||||
|
private Date happenTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案发地详细地点") |
||||||
|
private String caseAddress; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件所属机构") |
||||||
|
private String caseOwnOrgId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案情简要") |
||||||
|
private String caseBrief; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务类型:业务类型 10000 委托检验鉴定 10001-NPS案件 10002-毛发案件 20000 任务检验鉴定 20001-毛发任务 20002-污水任务 30000 筛查检验鉴定 30001-筛查") |
||||||
|
private Integer businessType; |
||||||
|
|
||||||
|
@ApiModelProperty(value="原始系统中的委托ID") |
||||||
|
private String synEntrustId; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.dto; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/25 15:27 |
||||||
|
*/ |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel(value = "EntrustmentDTO对象", description = "封装委托相关属性") |
||||||
|
public class EntrustmentDTO extends Entrustment { |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件编号") |
||||||
|
private String caseNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件名称任务名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案情简要") |
||||||
|
private String caseBrief; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书年份") |
||||||
|
private String year; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书序号") |
||||||
|
private String serialNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书业务状态(-1:待制作,0:已制作/重新制作,1:鉴定文书-提交审核,2:鉴定文书-审核通过),-2:鉴定文书-审核未通过,3:鉴定文书-审核退回修改,4:鉴定文书-审批签发成功,-4:鉴定文书-审批拒绝签发,5:鉴定文书-审批签发退回修改") |
||||||
|
private Integer bookStatus; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定人") |
||||||
|
private String appraisalUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定开始时间") |
||||||
|
private String inspectionStartDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定结束时间") |
||||||
|
private String finishDate; |
||||||
|
|
||||||
|
@ApiModelProperty("补送集合") |
||||||
|
private List<EntrustmentDTO> children; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,99 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.dto; |
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 领取鉴定文书相关信息 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-30 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value="ReceiveIdentifyBookDTO对象", description="领取鉴定文书相关信息") |
||||||
|
public class ReceiveIdentifyBookDTO implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托ID") |
||||||
|
private String entrustId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型: 0=毒品鉴定 1=.....用于对应到各个检验小组 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="业务类型: 0=毒品鉴定 1=.....用于对应到各个检验小组") |
||||||
|
private Integer businessType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取ID") |
||||||
|
private String receiveId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取方式") |
||||||
|
private String receiveWay; |
||||||
|
|
||||||
|
@ApiModelProperty(value="邮寄地址") |
||||||
|
private String postAddress; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取人ID") |
||||||
|
private String recipientsUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取人姓名") |
||||||
|
private String recipientsUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取时间") |
||||||
|
private Date recipientsTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "经办人ID") |
||||||
|
private String operatorUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "经办人姓名") |
||||||
|
private String operatorUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value="案件编号") |
||||||
|
private String caseNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value="受理编号") |
||||||
|
private String acceptNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value="第三方系统(如现勘系统、案事件系统)编号") |
||||||
|
private String thirdPartySysNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value="案件名称任务名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
@ApiModelProperty(value="送检人1姓名") |
||||||
|
private String deliverer1Name; |
||||||
|
|
||||||
|
@ApiModelProperty(value="送检人2姓名") |
||||||
|
private String deliverer2Name; |
||||||
|
|
||||||
|
@ApiModelProperty(value="送检日期") |
||||||
|
private LocalDateTime deliverTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value="受理时间") |
||||||
|
@JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8") |
||||||
|
private LocalDateTime acceptTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value="检验项目") |
||||||
|
private String identificationDomain; |
||||||
|
|
||||||
|
@ApiModelProperty(value="检材数量") |
||||||
|
private Integer sampleNum; |
||||||
|
|
||||||
|
@ApiModelProperty(value="领取/发放状态(1:待发放,2:已发放)") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
@ApiModelProperty(value="原始系统中的委托ID") |
||||||
|
private String synEntrustId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书业务状态(-1:待制作,0:已制作/重新制作,1:鉴定文书-提交审核,2:鉴定文书-审核通过),-2:鉴定文书-审核未通过,3:鉴定文书-审核退回修改,4:鉴定文书-审批签发成功,-4:鉴定文书-审批拒绝签发,5:鉴定文书-审批签发退回修改,6:鉴定文书-已领取") |
||||||
|
private Integer bookStatus; |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ChenJiangBao |
||||||
|
* @version 1.0 |
||||||
|
* @description: 附件类型集合(1:检验记录(含原始记录,检验图表)、2:鉴定事项确认书、3:鉴定委托书或鉴定聘请书、4:检材照片、5:送检人证件复印件、6:原鉴定文书) |
||||||
|
* @date 2025/4/2 10:12 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public enum AnnexTypeEnum { |
||||||
|
// 附件类型集合(1:检验记录(含原始记录,检验图表)、2:鉴定事项确认书、3:鉴定委托书或鉴定聘请书、4:检材照片、5:送检人证件复印件、6:原鉴定文书)
|
||||||
|
INSPECTION_RECORD("1", "检验记录(含原始记录,检验图表)"), |
||||||
|
IDENTIFICATION_CONFIRMATION("2", "鉴定事项确认书"), |
||||||
|
ENTRUST_LETTER("3", "鉴定委托书或鉴定聘请书"), |
||||||
|
MATERIAL_PHOTO("4", "检材照片"), |
||||||
|
EXAMINER_ID_COPY("5", "送检人证件复印件"), |
||||||
|
ORIGINAL_DOCUMENT("6", "原鉴定文书"), |
||||||
|
; |
||||||
|
|
||||||
|
private final String code; |
||||||
|
private final String desc; |
||||||
|
|
||||||
|
AnnexTypeEnum(String code, String desc) { |
||||||
|
this.code = code; |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
// 使用 Map 提高查找效率
|
||||||
|
private static final Map<String, AnnexTypeEnum> CODE_MAP = |
||||||
|
Arrays.stream(AnnexTypeEnum.values()) |
||||||
|
.collect(Collectors.toMap(AnnexTypeEnum::getCode, e -> e)); |
||||||
|
|
||||||
|
// 根据 code 获取枚举
|
||||||
|
public static AnnexTypeEnum fromCode(String code) { |
||||||
|
return CODE_MAP.get(code); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 业务状态枚举 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/12 16:20 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
@AllArgsConstructor |
||||||
|
@ApiModel("业务状态") |
||||||
|
public enum BusinessStatus { |
||||||
|
JD_WS_YZZ("0", "已制作/重新制作鉴定文书"), |
||||||
|
/** START 鉴定文书审核/审批/签发 **/ |
||||||
|
JD_WS_TJ_SH("1","鉴定文书-提交审核"), |
||||||
|
JD_WS_SH_TG("2","鉴定文书-审核通过"), |
||||||
|
JD_WS_SH_WTG("-2","鉴定文书-审核未通过"), |
||||||
|
JD_WS_SH_TH_XG("3","鉴定文书-审核退回修改"), |
||||||
|
|
||||||
|
JD_WS_SP_QF_TG("4","鉴定文书-审批签发成功"), |
||||||
|
JD_WS_SP_QF_WTG("-4","鉴定文书-审批签发拒绝"), |
||||||
|
JD_WS_SP_QF_TH_XG("5","鉴定文书-审批签发退回修改"), |
||||||
|
|
||||||
|
JD_WS_YLQ("6","鉴定文书-已领取"), |
||||||
|
/** END 年度人员培训计划-提交/审核/审批业务状态 **/ |
||||||
|
|
||||||
|
/** START 鉴定文书修改/补充申请业务状态 **/ |
||||||
|
JD_WS_XG_BC_SQ("1","鉴定文书-提交修改补充申请"), |
||||||
|
JD_WS_XG_BC_SH_TG("2","鉴定文书-修改补充-审核通过"), |
||||||
|
JD_WS_XG_BC_SH_WTG("-2","鉴定文书-修改补充-审核未通过"), |
||||||
|
JD_WS_XG_BC_SP_TG("3","鉴定文书-修改补充-审批通过"), |
||||||
|
JD_WS_XG_BC_SP_WTG("-3","鉴定文书-修改补充-审批不通过"), |
||||||
|
JD_WS_XG_BC_SH_YJ_CX_ZZ("7","收回原件,重新出具鉴定文书"), |
||||||
|
/** END 鉴定文书修改/补充申请业务状态 **/ |
||||||
|
; |
||||||
|
|
||||||
|
private final String code; |
||||||
|
private final String desc; |
||||||
|
|
||||||
|
public static BusinessStatus findEnumByCode(String code) { |
||||||
|
for (BusinessStatus status : BusinessStatus.values()) { |
||||||
|
if (status.code.equals(code)) { |
||||||
|
return status; |
||||||
|
} |
||||||
|
} |
||||||
|
throw new IllegalArgumentException("code is not support"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 定性/定量分析枚举 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/26 10:40 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
@AllArgsConstructor |
||||||
|
@ApiModel("业务状态") |
||||||
|
public enum IdentifyRequireEnum { |
||||||
|
|
||||||
|
QUALITATIVE_ANALYSIS(1, "对送检检材进行 ”定性“ 检测"), |
||||||
|
QUANTITATIVE_ANALYSIS(2, "对送检检材进行 ”定量“ 检测"), |
||||||
|
QUANTITATIVE_ANALYSIS_QUANTITATIVE_ANALYSIS(3, "对送检检材进行 ”定性,定量“ 检测"), |
||||||
|
RELEVANCE(4, "对送检检材进行 ”关联性“ 检测"), |
||||||
|
OTHER(5, "其它") |
||||||
|
; |
||||||
|
|
||||||
|
private final Integer code; |
||||||
|
private final String desc; |
||||||
|
|
||||||
|
public static IdentifyRequireEnum findEnumByCode(Integer code) { |
||||||
|
for (IdentifyRequireEnum requireEnum : IdentifyRequireEnum.values()) { |
||||||
|
if (requireEnum.code.equals(code)) { |
||||||
|
return requireEnum; |
||||||
|
} |
||||||
|
} |
||||||
|
throw new IllegalArgumentException("code is not support"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/8/9 16:20 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
@AllArgsConstructor |
||||||
|
@ApiModel("权限组枚举") |
||||||
|
public enum PermissionGroupEnum { |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定文书-制作/提交/退回修改(实验人员) |
||||||
|
*/ |
||||||
|
IdentifyBookProductionRrSubmissionProcess("IdentifyBookProductionRrSubmissionProcess", "鉴定文书-制作/提交/退回修改"), |
||||||
|
/** |
||||||
|
* 鉴定文书-审核(授权签字人) |
||||||
|
*/ |
||||||
|
IdentifyBookSH("IdentifyBookSH", "鉴定文书-审核"), |
||||||
|
/** |
||||||
|
* 鉴定文书-审批(主任) |
||||||
|
*/ |
||||||
|
IdentifyBookSP("IdentifyBookSP", "鉴定文书-审批(主任)"), |
||||||
|
/** |
||||||
|
* 鉴定文书-签发((实验人员) |
||||||
|
*/ |
||||||
|
IdentifyBookQF("IdentifyBookQF", "鉴定文书-签发"), |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定文书-修改补充申请/提交审核 (实验人员) |
||||||
|
*/ |
||||||
|
IdentifyBookModificationAndSupplementationSQ("IdentifyBookModificationAndSupplementationSQ", "鉴定文书-修改补充申请/提交审核"), |
||||||
|
/** |
||||||
|
* 鉴定文书-修改补充审核 (授权签字人) |
||||||
|
*/ |
||||||
|
IdentifyBookModificationAndSupplementationSH("IdentifyBookModificationAndSupplementationSH", "鉴定文书-修改补充审核 "), |
||||||
|
/** |
||||||
|
* 鉴定文书-修改补充审批 (主任) |
||||||
|
*/ |
||||||
|
IdentifyBookModificationAndSupplementationSP("IdentifyBookModificationAndSupplementationSP", "鉴定文书-修改补充审批 ") |
||||||
|
; |
||||||
|
|
||||||
|
|
||||||
|
private final String code; |
||||||
|
private final String desc; |
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ChenJiangBao |
||||||
|
* @version 1.0 |
||||||
|
* @description: 报告领取方式: 0=自取, 1=代领, 2=邮寄 |
||||||
|
* @date 2025/4/2 10:12 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public enum ReceiveWayEnum { |
||||||
|
// 报告领取方式: 0=自取, 1=代领, 2=邮寄
|
||||||
|
SELF_PICKUP("0", "自取"), |
||||||
|
PROXY_PICKUP("1", "代领"), |
||||||
|
MAIL("2", "邮寄"); |
||||||
|
|
||||||
|
private final String code; |
||||||
|
private final String desc; |
||||||
|
|
||||||
|
ReceiveWayEnum(String code, String desc) { |
||||||
|
this.code = code; |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
// 使用 Map 提高查找效率
|
||||||
|
private static final Map<String, ReceiveWayEnum> CODE_MAP = |
||||||
|
Arrays.stream(ReceiveWayEnum.values()) |
||||||
|
.collect(Collectors.toMap(ReceiveWayEnum::getCode, e -> e)); |
||||||
|
|
||||||
|
// 根据 code 获取枚举
|
||||||
|
public static ReceiveWayEnum fromCode(String code) { |
||||||
|
return CODE_MAP.get(code); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
@Getter |
||||||
|
@AllArgsConstructor |
||||||
|
@ApiModel("任务类型枚举") |
||||||
|
public enum TaskTypeEnum { |
||||||
|
|
||||||
|
JD_WS_SH("1","鉴定文书-审核"), |
||||||
|
JD_WS_SH_TH_XG("2","鉴定文书-审核退回修改"), |
||||||
|
JD_WS_SP("3","鉴定文书-审批"), |
||||||
|
JD_WS_SP_TH_XG("4","鉴定文书-审批退回修改"), |
||||||
|
JD_WS_QF_LQ("5","鉴定文书-签发/领取"), |
||||||
|
JD_WS_XG_BC_SH("6","鉴定文书修改/补充-审核"), |
||||||
|
JD_WS_XG_BC_SP("7","鉴定文书修改/补充-审批") |
||||||
|
|
||||||
|
; |
||||||
|
|
||||||
|
private final String code; |
||||||
|
private final String desc; |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.emums; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
/** |
||||||
|
* 重量/体积单位 枚举 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public enum UnitEnums { |
||||||
|
|
||||||
|
UNIT_SOLID_G("g", "克"), |
||||||
|
|
||||||
|
UNIT_SOLID_MG("mg", "毫克"), |
||||||
|
|
||||||
|
UNIT_SOLID_KG("kg", "公斤"), |
||||||
|
|
||||||
|
UNIT_LIQUID_L("l", "升"), |
||||||
|
|
||||||
|
UNIT_LIQUID_ML("ml", "毫升"), |
||||||
|
; |
||||||
|
|
||||||
|
private final String code; |
||||||
|
|
||||||
|
private final String desc; |
||||||
|
|
||||||
|
UnitEnums(String code, String desc) { |
||||||
|
this.code = code; |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
// 根据单位获取单位描述,没有就返回原先的字符
|
||||||
|
public static String fromUnit(String code) { |
||||||
|
for (UnitEnums unitEnums : values()) { |
||||||
|
if (unitEnums.getCode().equals(code)) { |
||||||
|
return unitEnums.getDesc(); |
||||||
|
} |
||||||
|
} |
||||||
|
return code; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* 回避的鉴定人 |
||||||
|
* 作为委托的一个属性, 由委托方指定某些鉴定人需要回避 |
||||||
|
*/ |
||||||
|
|
||||||
|
@Data |
||||||
|
public class AvoidIdentifier { |
||||||
|
String userId; // 用户 Id
|
||||||
|
String name; // 这是鉴定人的姓名
|
||||||
|
String reason; // 回避的原因(事由)
|
||||||
|
} |
@ -0,0 +1,36 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-27 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@ApiModel(value="BIdentificationProcess对象", description="") |
||||||
|
public class BIdentificationProcess implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检验过程") |
||||||
|
@TableField("inspection_process") |
||||||
|
private String inspectionProcess; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,58 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField; |
||||||
|
import com.baomidou.mybatisplus.annotation.*; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 业务流程记录表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_business_process_record") |
||||||
|
@ApiModel(value="BusinessProcessRecord对象", description="业务流程记录表") |
||||||
|
public class BusinessProcessRecord implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务流程记录ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务ID") |
||||||
|
private String businessId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务名称") |
||||||
|
private String businessName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务类型名称") |
||||||
|
private String businessTypeName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务状态") |
||||||
|
private Integer businessStatus; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "意见") |
||||||
|
private String message; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
@TableField(fill = FieldFill.INSERT) |
||||||
|
@JSONField( format = "yyyy-MM-dd HH:mm:ss") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
@TableField(fill = FieldFill.INSERT) |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 案件、事件 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_case_event") |
||||||
|
@ApiModel(value="CaseEvent对象", description="案件、事件") |
||||||
|
public class CaseEvent extends BaseEntity { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
/** |
||||||
|
* id |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
@ApiModelProperty(value="id") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件编号") |
||||||
|
private String caseNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 第三方系统(如现勘系统、案事件系统)编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="第三方系统(如现勘系统、案事件系统)编号") |
||||||
|
private String thirdPartySysNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件名称任务名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件名称任务名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件类型") |
||||||
|
private String caseType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案发时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案发时间") |
||||||
|
private LocalDateTime happenTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案发地详细地点 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案发地详细地点") |
||||||
|
private String caseAddress; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案发地行政区划编码(到县一级) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案发地行政区划编码(到县一级)") |
||||||
|
private String caseArea; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件所属机构 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件所属机构") |
||||||
|
private String caseOwnOrgId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件级别: 0=普通案件, 1=紧急案件, 2=加急案件 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件级别: 0=普通案件, 1=紧急案件, 2=加急案件") |
||||||
|
private Integer caseRank; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案情简要 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案情简要") |
||||||
|
private String caseBrief; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件备注 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件备注") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 数据来源,用于区别数据来自自身系统还是外部系统 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="数据来源") |
||||||
|
private Integer dataSources; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,211 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; |
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 与案件相关的物证信息 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_case_evidence") |
||||||
|
@ApiModel(value="CaseEvidence对象", description="与案件相关的物证信息") |
||||||
|
public class CaseEvidence extends BaseEntity { |
||||||
|
|
||||||
|
/** |
||||||
|
* id |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
@ApiModelProperty(value="id") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 本系统物证编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="本系统物证编号") |
||||||
|
private String evidenceNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件Id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件Id") |
||||||
|
private String caseId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 第三方系统(如现勘系统、案事件系统)物证编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="第三方系统(如现勘系统、案事件系统)物证编号") |
||||||
|
private String thirdPartySysEvidenceNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证类别:1. 非生物性物证;2. 生物特性物证 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证类别:1. 非生物性物证;2. 生物特性物证") |
||||||
|
private String type; |
||||||
|
|
||||||
|
/** |
||||||
|
* 现场标牌号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="现场标牌号") |
||||||
|
private String fieldLabelNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证来源 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证来源") |
||||||
|
private String source; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证颜色 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证颜色") |
||||||
|
private String color; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证性状 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证性状") |
||||||
|
private String form; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证情况之承载物名称, 例如 棉签 2 棵, 粉末 少许 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证情况之承载物名称, 例如 棉签 2 棵, 粉末 少许") |
||||||
|
private String fundName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证情况之承载物数量, 例如 5 颗, 3包, |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证情况之承载物数量, 例如 5 颗, 3包, ") |
||||||
|
private Integer fundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证情况之承载物单位, 例如 5 颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证情况之承载物单位, 例如 5 颗, 3包") |
||||||
|
private String fundUnit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证单位, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="物证单位, 例如 3.8 克 或 4.5毫升") |
||||||
|
private String unit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 附加属性, 如:体积3毫升,密码123,型号abc |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="附加属性, 如:体积3毫升,密码123,型号abc") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<IMAdditionalProperty> additionalProperties; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者姓名") |
||||||
|
private String personName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者证件类型") |
||||||
|
private String personCert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者证件号") |
||||||
|
private String personId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者性别,公安系统编码 1:男 2:女 0:未知 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者性别,公安系统编码 1:男 2:女 0:未知") |
||||||
|
private Integer personGender; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者国籍 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者国籍") |
||||||
|
private String personNationality; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者民族编码,公安系统编码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者民族编码,公安系统编码") |
||||||
|
private Integer personNation; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者地址 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者地址") |
||||||
|
private String personAddress; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者年龄 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="所有者年龄") |
||||||
|
private Integer personAge; |
||||||
|
|
||||||
|
/** |
||||||
|
* 包装情况:纸袋,纸盒,纸箱,自定义 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="包装情况:纸袋,纸盒,纸箱,自定义") |
||||||
|
private String pack; |
||||||
|
|
||||||
|
/** |
||||||
|
* 存储方法:常规,冷藏,特殊 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="存储方法:常规,冷藏,特殊") |
||||||
|
private String storageMethod; |
||||||
|
|
||||||
|
/** |
||||||
|
* 描述 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="描述") |
||||||
|
private String description; |
||||||
|
|
||||||
|
/** |
||||||
|
* 备注 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="备注") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 数据来源,用于区别数据来自自身系统还是外部系统 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="数据来源") |
||||||
|
private Integer dataSources; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,63 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 送检员 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_deliverer") |
||||||
|
@ApiModel(value="Deliverer对象", description="送检员") |
||||||
|
public class Deliverer implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员拥有者userId") |
||||||
|
private String ownerUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员姓名") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员职务") |
||||||
|
private String position; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员证件名称") |
||||||
|
private String cert; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员证件编号") |
||||||
|
private String idnum; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "送检员电话") |
||||||
|
private String phone; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,763 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; |
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import digital.laboratory.platform.sys.entity.DrugLite; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_entrustment") |
||||||
|
@ApiModel(value="Entrustment对象", description="委托") |
||||||
|
public class Entrustment extends BaseEntity { |
||||||
|
|
||||||
|
/** |
||||||
|
* 编号 |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
@ApiModelProperty(value="编号") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件Id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件Id") |
||||||
|
private String caseId; |
||||||
|
/** |
||||||
|
* 案件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案件名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案情简要 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="案情简要") |
||||||
|
private String caseBrief; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 委托编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托编号") |
||||||
|
private String entrustmentNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托类型: 0=正常司法鉴定委托, 1=案前委托 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托类型: 0=正常司法鉴定委托, 1=案前委托") |
||||||
|
private Integer entrustmentType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型: 0=毒品鉴定 1=.....用于对应到各个检验小组 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="业务类型: 0=毒品鉴定 1=.....用于对应到各个检验小组") |
||||||
|
private Integer businessType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 对应的流程实例Id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="对应的流程实例Id") |
||||||
|
private String processInstanceId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理Id, 通过这个可以得到鉴定号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理Id, 通过这个可以得到鉴定号") |
||||||
|
private String identificationId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托日期, 鉴定委托书打印日期 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托日期, 鉴定委托书打印日期") |
||||||
|
private LocalDateTime entrustmentTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托提交者, 后期可能会转给其他人user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托提交者, 后期可能会转给其他人user_id") |
||||||
|
private String submitter; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提交日期, 提交审核的日期 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="提交日期, 提交审核的日期") |
||||||
|
private LocalDateTime submitTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定委托单位编码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="鉴定委托单位编码") |
||||||
|
private String clientOrgId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定委托单位名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="鉴定委托单位名称") |
||||||
|
private String clientOrgName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 通讯地址 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="通讯地址") |
||||||
|
private String clientAddress; |
||||||
|
|
||||||
|
/** |
||||||
|
* 邮政编码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="邮政编码") |
||||||
|
private String clientPostcode; |
||||||
|
|
||||||
|
/** |
||||||
|
* 电话号码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="电话号码") |
||||||
|
private String clientTel; |
||||||
|
|
||||||
|
/** |
||||||
|
* 传真号码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="传真号码") |
||||||
|
private String clientFax; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托鉴定专业 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托鉴定专业") |
||||||
|
private String identificationDomain; |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定机构名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="鉴定机构名称") |
||||||
|
private String identificationOrgName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定性分析 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="定性分析") |
||||||
|
private Boolean qualitativeAnalysis; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定量分析 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="定量分析") |
||||||
|
private Boolean quantitativeAnalysis; |
||||||
|
|
||||||
|
/** |
||||||
|
* 其他鉴定要求 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="其他鉴定要求") |
||||||
|
private String otherIdentificationRequests; |
||||||
|
|
||||||
|
/** |
||||||
|
* 候选毒品列表(drug 对象的 json array) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="候选毒品列表(drug 对象的 json array)") |
||||||
|
//@TableField(typeHandler = JacksonTypeHandler.class)
|
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<DrugLite> candidateDrugs; |
||||||
|
|
||||||
|
/** |
||||||
|
* 是否由委托方指定鉴定方法 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="是否由委托方指定鉴定方法") |
||||||
|
private Boolean isClientSpecifiedMethod; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托方指定的鉴定方法 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托方指定的鉴定方法") |
||||||
|
private String clientSpecifiedMethod; |
||||||
|
|
||||||
|
/** |
||||||
|
* 是否有损检验:0=无损,1=有损 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="是否有损检验:0=无损,1=有损") |
||||||
|
private Boolean destructiveAnalysis; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检验的其他说明(鉴定事项确认书中要求, 审核人填写) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检验的其他说明(鉴定事项确认书中要求, 审核人填写)") |
||||||
|
private String otherIdentificationNotes; |
||||||
|
|
||||||
|
/** |
||||||
|
* 是否重新鉴定:0=否,1=重新鉴定 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="是否重新鉴定:0=否,1=重新鉴定") |
||||||
|
private Boolean reidentification; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原鉴定机构 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="原鉴定机构") |
||||||
|
private String oldIdentificationOrgName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原鉴定文书 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="原鉴定文书") |
||||||
|
private String oldIdentificationDocument; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原鉴定结果 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="原鉴定结果") |
||||||
|
private String oldIdentificationResult; |
||||||
|
|
||||||
|
/** |
||||||
|
* 重新鉴定理由 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="重新鉴定理由") |
||||||
|
private String reidentificationReason; |
||||||
|
|
||||||
|
/** |
||||||
|
* 回避的鉴定人及回避事由, json 格式 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="回避的鉴定人及回避事由, json 格式") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<AvoidIdentifier> avoidIdentifier; |
||||||
|
|
||||||
|
/** |
||||||
|
* 指定鉴定人, 委托中指定鉴定人 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="指定鉴定人, 委托中指定鉴定人") |
||||||
|
private String specifiedIdentifier; |
||||||
|
|
||||||
|
/** |
||||||
|
* 其它约定事项,打印在鉴定事项确认书中的"约定->其他" |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="其它约定事项,打印在鉴定事项确认书中的\"约定->其他\"") |
||||||
|
private String otherAgreement; |
||||||
|
|
||||||
|
/** |
||||||
|
* 备注 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="备注") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 候选审核人, user_id列表, 逗号分隔 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="候选审核人, user_id列表, 逗号分隔") |
||||||
|
private String checkCandidateUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核任务认领人 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审核任务认领人") |
||||||
|
private String checkClaimUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核任务认领时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审核任务认领时间") |
||||||
|
private LocalDateTime checkClaimTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 实际审核人, user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="实际审核人, user_id") |
||||||
|
private String checkUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审核时间") |
||||||
|
private LocalDateTime checkTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核意见: (审批通过 审批不通过及原因) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审核意见: (审批通过 审批不通过及原因)") |
||||||
|
private String checkComments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核次数记录 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审核次数记录") |
||||||
|
private Integer checkTimes; |
||||||
|
|
||||||
|
/** |
||||||
|
* 专业全部物证检验状态: 0=未全部审核 1=已全部审核 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="专业全部物证检验状态: 0=未全部审核 1=已全部审核") |
||||||
|
private Boolean checkAllIdentificationMaterialConfirmed; |
||||||
|
|
||||||
|
/** |
||||||
|
* 候选审批人, user_id列表, 逗号分隔 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="候选审批人, user_id列表, 逗号分隔") |
||||||
|
private String approveCandidateUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批任务认领人 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审批任务认领人") |
||||||
|
private String approveClaimUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批任务认领时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审批任务认领时间") |
||||||
|
private LocalDateTime approveClaimTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 实际审批人, user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="实际审批人, user_id") |
||||||
|
private String approveUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审批时间") |
||||||
|
private LocalDateTime approveTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批意见: (审批通过 审批不通过及原因) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审批意见: (审批通过 审批不通过及原因)") |
||||||
|
private String approveComments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批次数:该字段在审核通过时初始化, 值为0或1时代表初审, 2代表复审 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="审批次数:该字段在审核通过时初始化, 值为0或1时代表初审, 2代表复审") |
||||||
|
private Integer approveTimes; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检确认人user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检确认人user_id") |
||||||
|
private String deliverConfirmUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检确认时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检确认时间") |
||||||
|
private LocalDateTime deliverConfirmTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检确认意见 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检确认意见") |
||||||
|
private String deliverConfirmComments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检日期 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检日期") |
||||||
|
private LocalDateTime deliverTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检操作提交用户user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检操作提交用户user_id") |
||||||
|
private String deliverSubmitter; |
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 如果送检人1是系统用户, 记录用户id
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty(value="如果送检人1是系统用户, 记录用户id")
|
||||||
|
// private String deliverer1UserId;
|
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人1姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人1姓名") |
||||||
|
private String deliverer1Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人1职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人1职务") |
||||||
|
private String deliverer1Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人1证件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人1证件名称") |
||||||
|
private String deliverer1Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人1证件编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人1证件编号") |
||||||
|
private String deliverer1Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人1电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人1电话") |
||||||
|
private String deliverer1Phone; |
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 如果送检人2是系统用户, 记录用户id
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty(value="如果送检人2是系统用户, 记录用户id")
|
||||||
|
// private String deliverer2UserId;
|
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人2姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人2姓名") |
||||||
|
private String deliverer2Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人2职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人2职务") |
||||||
|
private String deliverer2Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人2证件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人2证件名称") |
||||||
|
private String deliverer2Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人2证件编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人2证件编号") |
||||||
|
private String deliverer2Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检人2电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检人2电话") |
||||||
|
private String deliverer2Phone; |
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 受理任务认领人
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty(value="受理任务认领人")
|
||||||
|
// private String acceptClaimUser;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 受理任务认领时间
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty(value="受理任务认领时间")
|
||||||
|
// private LocalDateTime acceptClaimTime;
|
||||||
|
|
||||||
|
/** |
||||||
|
* 受理编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理编号") |
||||||
|
private String acceptNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理人user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理人user_id") |
||||||
|
private String acceptUser; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理时间") |
||||||
|
private LocalDateTime acceptTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理意见 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理意见") |
||||||
|
private String acceptComments; |
||||||
|
|
||||||
|
/** |
||||||
|
* 鉴定事项确认书是否已经打印 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="鉴定事项确认书是否已经打印") |
||||||
|
private Boolean identificationItemsConfirmPrinted; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 送检受理信息, 以 json 格式记录送检受理各环节的文字意见 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检受理信息, 以 json 格式记录送检受理各环节的文字意见") |
||||||
|
// @TableField(typeHandler = JacksonTypeHandler.class)
|
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<UpdateInfo> processInfo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取方式: 0=自取, 1=代领, 2=邮寄 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取方式: 0=自取, 1=代领, 2=邮寄") |
||||||
|
private String reportReceiveMode; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的 user id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的 user id") |
||||||
|
private String reportReceiver1UserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的姓名") |
||||||
|
private String reportReceiver1Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的职务") |
||||||
|
private String reportReceiver1Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的证件类型") |
||||||
|
private String reportReceiver1Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的证件号") |
||||||
|
private String reportReceiver1Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1的电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1的电话") |
||||||
|
private String reportReceiver1Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的 user id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的 user id") |
||||||
|
private String reportReceiver2UserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的姓名") |
||||||
|
private String reportReceiver2Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的职务") |
||||||
|
private String reportReceiver2Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的证件类型") |
||||||
|
private String reportReceiver2Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的证件号") |
||||||
|
private String reportReceiver2Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2的电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2的电话") |
||||||
|
private String reportReceiver2Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告发放人user_id(通常是受理员) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告发放人user_id(通常是受理员)") |
||||||
|
private String reportSenderUserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告发放时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告发放时间") |
||||||
|
private LocalDateTime reportSentTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人1领取报告时的签名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人1领取报告时的签名") |
||||||
|
private String reportReceiver1Signature; |
||||||
|
|
||||||
|
/** |
||||||
|
* 报告领取人2领取报告时的签名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="报告领取人2领取报告时的签名") |
||||||
|
private String reportReceiver2Signature; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取方式: 0=自取, 1=实验室自行处理 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取方式: 0=自取, 1=实验室自行处理") |
||||||
|
private Integer sampleReceiveMode; |
||||||
|
|
||||||
|
/** |
||||||
|
* 如果检材领取人1是系统用户, 记录userId |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="如果检材领取人1是系统用户, 记录userId") |
||||||
|
private String sampleReceiver1UserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1姓名") |
||||||
|
private String sampleReceiver1Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1职位 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1职位") |
||||||
|
private String sampleReceiver1Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1证件类型") |
||||||
|
private String sampleReceiver1Cret; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1证件号") |
||||||
|
private String sampleReceiver1Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1电话") |
||||||
|
private String sampleReceiver1Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 如果检材领取人2是系统用户, 记录userId |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="如果检材领取人2是系统用户, 记录userId") |
||||||
|
private String sampleReceiver2UserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2姓名") |
||||||
|
private String sampleReceiver2Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2职位 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2职位") |
||||||
|
private String sampleReceiver2Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2证件类型") |
||||||
|
private String sampleReceiver2Cret; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2证件号") |
||||||
|
private String sampleReceiver2Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2电话") |
||||||
|
private String sampleReceiver2Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材发放人, 鉴定机构工作人员user_id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材发放人, 鉴定机构工作人员user_id") |
||||||
|
private String sampleSenderUserId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材发放时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材发放时间") |
||||||
|
private String sampleSentTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人1签名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人1签名") |
||||||
|
private String sampleReceiver1PersonSignature; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材领取人2签名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材领取人2签名") |
||||||
|
private String sampleReceiver2PersonSignnature; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="状态") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 上一个状态 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="上一个状态") |
||||||
|
private Integer previousStatus; |
||||||
|
|
||||||
|
/** |
||||||
|
* 数据来源,用于区别数据来自自身系统还是外部系统 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="数据来源") |
||||||
|
private Integer dataSources; |
||||||
|
|
||||||
|
/** |
||||||
|
* 第三方数据系统中的委托编号, |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="禁毒数据平台的委托编号") |
||||||
|
private String thirdSysEntrustNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 第三方系统受理编号, |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="第三方系统受理编号") |
||||||
|
private String acceptNoThirdSys; |
||||||
|
/** |
||||||
|
* 鉴定要求, |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="鉴定要求") |
||||||
|
private String entrustRequirement; |
||||||
|
/** |
||||||
|
* 邮寄地址, |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="邮寄地址") |
||||||
|
private String postAddress; |
||||||
|
@ApiModelProperty(value="原始系统中的委托ID") |
||||||
|
private String synEntrustId; |
||||||
|
|
||||||
|
@ApiModelProperty(value="检材数量") |
||||||
|
private Integer materialNum; |
||||||
|
|
||||||
|
@ApiModelProperty("是否推送数据到LabsCare的标识," + |
||||||
|
"[" + |
||||||
|
"EntrustLetter:true 代表推送委托书成功 | " + |
||||||
|
"ItemConfirmLetter:true 代表推送鉴定事项确认书成功 | " + |
||||||
|
"BiologyQualitativeRecord:true 代表推送生物定性检验记录成功" + |
||||||
|
"" + |
||||||
|
"]" + |
||||||
|
"如果这个字段为空则表示失败,如果两个推送都成功,以英文逗号分隔") |
||||||
|
private String pushFlag; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,64 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托与实验关系 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName(value = "b_entrustment_bundle", autoResultMap = true) |
||||||
|
@ApiModel(value="BEntrustmentBundle对象", description="委托与实验关系") |
||||||
|
public class EntrustmentBundle implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "entrustment_id") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value="选中的实验, 实验id的json数组") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<String> selectedExperiment; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审核审批结果: null=未审, 0=审核审批未通过, 1=审核审批已通过") |
||||||
|
private Boolean approvalResult; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "提交给文书系统的日期") |
||||||
|
private Date submitDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态: 0=刚创建, 1=已提交给文书系统, 2=文书审核审批通过, 3=已通知委托系统") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,538 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; |
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import digital.laboratory.platform.sys.entity.DrugLite; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检材信息 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_entrustment_identification_material") |
||||||
|
@ApiModel(value="EntrustmentIdentificationMaterial对象", description="检材信息") |
||||||
|
public class EntrustmentIdentificationMaterial extends BaseEntity { |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材id |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
@ApiModelProperty(value = "检材id") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材编号") |
||||||
|
private String imNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 物证id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "物证id") |
||||||
|
private String evidenceId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 案件id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "案件id") |
||||||
|
private String caseId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "委托id") |
||||||
|
private String entrustmentId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材类别:继承所取物证的类别或从物证类别选择 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材类别:继承所取物证的类别或从物证类别选择") |
||||||
|
private String type; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材类别名称:继承所取物证的类别或从物证类别选择 |
||||||
|
* 2023/5/31 在咸阳分中心添加 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材类别名称:继承所取物证的类别或从物证类别选择") |
||||||
|
private String typeName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材颜色:继承所取物证颜色或手动填入 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材颜色:继承所取物证颜色或手动填入") |
||||||
|
private String color; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材性状:继承所取物证性状或从物证性状类别选择 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材性状:继承所取物证性状或从物证性状类别选择") |
||||||
|
private String form; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材性状:继承所取物证性状或从物证性状类别选择 |
||||||
|
* * 2023/5/31 在咸阳分中心添加 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材性状名称:继承所取物证性状或从物证性状类别选择") |
||||||
|
private String formName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许") |
||||||
|
private String fundName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物数量, 例如 5 颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材情况之承载物数量, 例如 5 颗, 3包") |
||||||
|
private Integer fundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物单位, 例如 5 颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材情况之承载物单位, 例如 5 颗, 3包") |
||||||
|
private String fundUnit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 计量单位, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "计量单位, 例如 3.8 克 或 4.5毫升") |
||||||
|
private String unit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 附加属性, 如:体积3毫升,密码123,型号abc |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "附加属性, 如:体积3毫升,密码123,型号abc") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<IMAdditionalProperty> additionalProperties; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提取方法 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提取方法") |
||||||
|
private String drawWay; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者姓名") |
||||||
|
private String personName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者证件类型 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者证件类型") |
||||||
|
private String personCert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者证件号") |
||||||
|
private String personId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者性别,公安系统编码: 1=男 2=女 0=未知 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者性别,公安系统编码: 1=男 2=女 0=未知") |
||||||
|
private Integer personGender; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者国籍 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者国籍") |
||||||
|
private String personNationality; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者民族编码,公安系统编码 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者民族编码,公安系统编码") |
||||||
|
private Integer personNation; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者地址 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者地址") |
||||||
|
private String personAddress; |
||||||
|
|
||||||
|
/** |
||||||
|
* 所有者年龄 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "所有者年龄") |
||||||
|
private Integer personAge; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人1姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人1姓名") |
||||||
|
private String take1Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人1职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人1职务") |
||||||
|
private String take1Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人1证件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人1证件名称") |
||||||
|
private String take1Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人1证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人1证件号") |
||||||
|
private String take1Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人1联系电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人1联系电话") |
||||||
|
private String take1Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人2姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人2姓名") |
||||||
|
private String take2Name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人2职务 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人2职务") |
||||||
|
private String take2Position; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人2证件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人2证件名称") |
||||||
|
private String take2Cert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人2证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人2证件号") |
||||||
|
private String take2Id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集人2联系电话 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集人2联系电话") |
||||||
|
private String take2Phone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集日期 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "采集日期") |
||||||
|
private LocalDateTime takeTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 见证人姓名 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "见证人姓名") |
||||||
|
private String witnessName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 见证人证件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "见证人证件名称") |
||||||
|
private String witnessCert; |
||||||
|
|
||||||
|
/** |
||||||
|
* 见证人证件号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "见证人证件号") |
||||||
|
private String witnessId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 包装情况:纸袋,纸盒,纸箱,自定义 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "包装情况:纸袋,纸盒,纸箱,自定义") |
||||||
|
private String pack; |
||||||
|
|
||||||
|
/** |
||||||
|
* 包装情况名称:纸袋,纸盒,纸箱,自定义 |
||||||
|
* 2023/5/31 在咸阳分中心添加 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "包装情况名称:纸袋,纸盒,纸箱,自定义") |
||||||
|
private String packName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 存储方法:常规,冷藏,特殊 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "存储方法:常规,冷藏,特殊") |
||||||
|
private String storageMethod; |
||||||
|
|
||||||
|
/** |
||||||
|
* 候选毒品列表(drug 对象的 json array) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "候选毒品列表(drug 对象的 json array)") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<DrugLite> candidateDrugs; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材概要 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材概要") |
||||||
|
private String description; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审核时间") |
||||||
|
private LocalDateTime checkTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核是否通过: 1=审核通过 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审核是否通过: 1=审核通过") |
||||||
|
private Integer checkPassed; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审批时间") |
||||||
|
private LocalDateTime approveTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批是否通过: 1=审批通过 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审批是否通过: 1=审批通过") |
||||||
|
private Integer approvePassed; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理时间 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "受理时间") |
||||||
|
private LocalDateTime acceptTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 是否受理: 0=未受理, 1=已受理, -1=不予受理 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "是否受理: 0=未受理, 1=已受理, -1=不予受理") |
||||||
|
private Integer acceptPassed; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本1是否存在, 应该总是存在 |
||||||
|
*/ |
||||||
|
// @ApiModelProperty(value="提供的样本1是否存在, 应该总是存在")
|
||||||
|
// private Boolean providedSample1Present;
|
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本1编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本1编号") |
||||||
|
private String providedSample1No; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本1承载物数量(重量), 例如 5颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本1承载物数量(重量), 例如 5颗, 3包") |
||||||
|
private Integer providedSample1FundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本1数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本1数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal providedSample1Quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本2是否存在 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本2是否存在") |
||||||
|
private Boolean providedSample2Present; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本2编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本2编号") |
||||||
|
private String providedSample2No; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本2承载物数量(重量), 例如 5颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本2承载物数量(重量), 例如 5颗, 3包") |
||||||
|
private Integer providedSample2FundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供的样本2数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "提供的样本2数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal providedSample2Quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 是否已分样: 0=未分样, 1=已分样 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "是否已分样: 0=未分样, 1=已分样") |
||||||
|
private Boolean splitedSample; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本1是否存在, 应该总是存在 |
||||||
|
*/ |
||||||
|
// @ApiModelProperty(value="样本1是否存在, 应该总是存在")
|
||||||
|
// private Boolean sample1Present;
|
||||||
|
|
||||||
|
/** |
||||||
|
* 样本1编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本1编号") |
||||||
|
private String sample1No; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本1承载物数量(重量), 例如 5颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本1承载物数量(重量), 例如 5颗, 3包") |
||||||
|
private Integer sample1FundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本1数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本1数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal sample1Quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本1盒子 id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本1盒子 id") |
||||||
|
private String sample1BoxId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本2是否存在 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2是否存在") |
||||||
|
private Boolean sample2Present; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本2编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2编号") |
||||||
|
private String sample2No; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本2承载物数量(重量), 例如 5颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2承载物数量(重量), 例如 5颗, 3包") |
||||||
|
private Integer sample2FundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本2数量, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2数量, 例如 3.8 克 或 4.5毫升") |
||||||
|
private BigDecimal sample2Quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本2盒子 id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2盒子 id") |
||||||
|
private String sample2BoxId; |
||||||
|
//add by xy 2023-04-15,记录复秤的结果而增加的字段信息
|
||||||
|
/** |
||||||
|
* 样本1复秤后的重量 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本1的复秤重量") |
||||||
|
private BigDecimal sample1RepeatWeigh; |
||||||
|
/** |
||||||
|
* 样本2复秤后的重量 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本2的复秤重量") |
||||||
|
private BigDecimal sample2RepeatWeigh; |
||||||
|
|
||||||
|
/** |
||||||
|
* 分析项目 定性分析,定量分析,定性定量分析,关联性判断 其他 |
||||||
|
* 1.定性分析 2.定量分析 3.定性定量分析 4.关联性判断 5。其他 |
||||||
|
*/ |
||||||
|
private Integer analysisOption; |
||||||
|
|
||||||
|
/** |
||||||
|
* 数据来源,用于区别数据来自自身系统还是外部系统 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "数据来源") |
||||||
|
private Integer dataSources; |
||||||
|
/** |
||||||
|
* 检材受理编号,一般是绑定检材所属的委托的受理编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材受理编号") |
||||||
|
private String acceptNo; |
||||||
|
/** |
||||||
|
* 打印委托书的时候需要对检材的序号,但是这个时候检材又没有受理,所以添加一个顺序号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "委托检材顺序号,由系统根据录入顺序生成") |
||||||
|
private Integer orderNo; |
||||||
|
|
||||||
|
public String getOrderNo1() { |
||||||
|
return this.orderNo + "号检材"; |
||||||
|
} |
||||||
|
|
||||||
|
public String getSampleCondition() { |
||||||
|
if (this.getSample2FundQuantity() != null && this.getSample2FundQuantity() > 0) { |
||||||
|
return this.getSample2FundQuantity() + this.getFundUnit(); |
||||||
|
} else { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取检材的描述性编号(简短称呼),如果还没有受理之前,是没有受理编号的,所以未受理之前,使用不了这个函数 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public String getShortNameDes() { |
||||||
|
String acceptNo = this.getAcceptNo(); |
||||||
|
if (StringUtils.isNotBlank(acceptNo)) { |
||||||
|
int seqNo = Integer.parseInt(acceptNo.substring(acceptNo.lastIndexOf("-") + 1)); |
||||||
|
return seqNo + "号"; |
||||||
|
} else { |
||||||
|
return "0号"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 取检材的序号 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public int getIndex() { |
||||||
|
String acceptNo = this.getAcceptNo(); |
||||||
|
if (StringUtils.isNotBlank(acceptNo)) { |
||||||
|
int seqNo = Integer.parseInt(acceptNo.substring(acceptNo.lastIndexOf("-") + 1)); |
||||||
|
return seqNo; |
||||||
|
} else { |
||||||
|
return 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,127 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验方法 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("examination_methods") |
||||||
|
@ApiModel(value="ExaminationMethods对象", description="检验方法") |
||||||
|
public class ExaminationMethods implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法实体类id") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法名") |
||||||
|
private String methodName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法依据") |
||||||
|
private Integer methodBasis; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法英文名") |
||||||
|
@TableField("method_English_name") |
||||||
|
private String methodEnglishName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "标准号") |
||||||
|
private String standardNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布单位") |
||||||
|
private String publishingUnit; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布时间") |
||||||
|
private Date publishingTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "其他依据") |
||||||
|
private String others; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "实施时间") |
||||||
|
private Date implementTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "适用范围") |
||||||
|
private String suitRange; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "规范性引用文件") |
||||||
|
private String normativeReferences; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "术语和定义") |
||||||
|
private String termAndDefinition; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "原理") |
||||||
|
private String principle; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法当前状态") |
||||||
|
private Integer methodStatus; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "方法类型(标准/非标准)") |
||||||
|
private Integer methodType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "试剂") |
||||||
|
private String reagent; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "仪器和设备") |
||||||
|
private String instrumentsAndEquipment; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "定量结果评价") |
||||||
|
private String quantitativeResultEvaluation; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "操作方法") |
||||||
|
private String operationMethod; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "指导书id") |
||||||
|
private String guidelinesId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果表述") |
||||||
|
private String expressionOfResults; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "评审时间") |
||||||
|
private Date reviewTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "评审人") |
||||||
|
private String reviewer; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "评审结果") |
||||||
|
private Integer reviewResults; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "评审意见") |
||||||
|
private String reviewOpinion; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间--录入时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人--录入人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件url") |
||||||
|
private String annexUrl; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件名称") |
||||||
|
private String annexName; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 实验(检验方法的实例) |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_experiment") |
||||||
|
@ApiModel(value="BExperiment对象", description="实验(检验方法的实例)") |
||||||
|
public class Experiment implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检验方法id") |
||||||
|
private String methodId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "模板id") |
||||||
|
private String templateId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务类型,字典中的dlp.identification.business项") |
||||||
|
private Integer business; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "实验名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检验人员id") |
||||||
|
private String opUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态: 0=准备中; 1=实验中; 2=实验结束; -1=实验中止") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "实验完成日期") |
||||||
|
private Date finishDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注说明") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,81 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发检测任务 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_hair_job") |
||||||
|
@ApiModel(value="HairJob对象", description="毛发检测任务") |
||||||
|
public class HairJob implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "根任务id") |
||||||
|
private String rootId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务内容描述说明") |
||||||
|
private String description; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务编号") |
||||||
|
private String jobNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务发布单位") |
||||||
|
private String jobIssueOrg; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务执行单位") |
||||||
|
private String jobExecOrg; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务来源") |
||||||
|
private String jobFrom; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务截止日期") |
||||||
|
private Date expirationDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务开始日期") |
||||||
|
private Date startDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务备注") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务类型: 毛发检测/污水检测...") |
||||||
|
private String jobType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "xxx任务检测类型: 毛发检测:社区戒毒人员检测、公职人员、招考人员。/污水检测:污水处理厂、自然水体、其它水体。...") |
||||||
|
private String xxxjobIdentifyType; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,125 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发任务的检材信息 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_hair_job_identification_material") |
||||||
|
@ApiModel(value="HairJobIdentificationMaterial对象", description="毛发任务的检材信息") |
||||||
|
public class HairJobIdentificationMaterial implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材id") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务id") |
||||||
|
private String jobId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "根任务id") |
||||||
|
private String jobRootId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材编号") |
||||||
|
private String imNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "A样编号") |
||||||
|
private String sample1No; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "B样编号") |
||||||
|
private String sample2No; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "A样盒子") |
||||||
|
private String sample1BoxId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "B样盒子") |
||||||
|
private String sample2BoxId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "所有者姓名") |
||||||
|
private String personName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "所有者身份证号") |
||||||
|
private String personCard; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "人员类别") |
||||||
|
private String personType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目名称") |
||||||
|
private String projectName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "社区戒毒人员在社区执行时间是否超过 6 个月") |
||||||
|
private String executionTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "曾经吸毒种类") |
||||||
|
private String drugType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采样人") |
||||||
|
private String collector; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采样单位") |
||||||
|
private String collectorGroup; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采样时间") |
||||||
|
private Date collectTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采样地点") |
||||||
|
private String collectPlace; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "监督人员") |
||||||
|
private String supervisor; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理时间") |
||||||
|
private Date acceptTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "受理是否通过: 0=未受理, 1=受理通过, -1=受理被拒绝") |
||||||
|
private Integer acceptPassed; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材数量") |
||||||
|
private BigDecimal quantity; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "A样数量") |
||||||
|
private BigDecimal sample1Quantity; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "B样数量") |
||||||
|
private BigDecimal sample2Quantity; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "计量单位") |
||||||
|
private String unit; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材的附加属性 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class IMAdditionalProperty { |
||||||
|
String propertyName; // 中文名称: 体积、重量、性状、颜色、品牌、型号、密码等等
|
||||||
|
String quantity; // 重量、体积等等的量值, 或型号、密码的值
|
||||||
|
String unit; // 仅对有计量单位的属性, 如: 克、毫克、升等等, 品牌、型号、密码等属性没有单位
|
||||||
|
|
||||||
|
public IMAdditionalProperty() { |
||||||
|
|
||||||
|
} |
||||||
|
public IMAdditionalProperty(String propertyName, String quantity, String unit) { |
||||||
|
this.propertyName = propertyName; |
||||||
|
this.quantity = quantity; |
||||||
|
this.unit = unit; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.EnumValue; |
||||||
|
import com.fasterxml.jackson.annotation.JsonValue; |
||||||
|
import lombok.Getter; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本的状态 |
||||||
|
* 这个字段主要设想为页面显示时可以看见样本的动向 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
@RequiredArgsConstructor |
||||||
|
public enum IMTSampleStatus { |
||||||
|
|
||||||
|
OUTBOUND(1,"未入库"),//出库
|
||||||
|
|
||||||
|
INBOUND(2,"已入库"), |
||||||
|
|
||||||
|
TRANSFER(4,"流转中"),//流转中
|
||||||
|
|
||||||
|
UNDER_INSPECTION(6,"检验中"), |
||||||
|
|
||||||
|
TO_BE_DESTROYED(7,"审核通过待销毁"), |
||||||
|
|
||||||
|
DESTROYED(8,"已销毁"), |
||||||
|
|
||||||
|
COLLECTING(9,"领用出库中"), |
||||||
|
|
||||||
|
|
||||||
|
RETURN_OUT(10,"已经退还出库"), |
||||||
|
|
||||||
|
RELEASE(11,"已发布销毁公示,待出库销毁"), |
||||||
|
APPLY(12,"申请中"), |
||||||
|
|
||||||
|
|
||||||
|
IDENTIFYING(13,"检验中"), |
||||||
|
IDENTIFIED(14,"检验结束"); |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@EnumValue//标记数据库存的值是status
|
||||||
|
private final int status; |
||||||
|
@JsonValue//标记返回前端字段
|
||||||
|
private final String description; |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import java.util.Date; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定表,一个鉴定可能会有多个委托 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_identification") |
||||||
|
@ApiModel(value="Identification对象", description="鉴定表,一个鉴定可能会有多个委托") |
||||||
|
public class Identification extends BaseEntity implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定号,受理号") |
||||||
|
private String identificationNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态: 0=鉴定中,-1=已终止, 1=已结束") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import java.util.Date; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书消息表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_identify_book") |
||||||
|
@ApiModel(value="IdentifyBook对象", description="鉴定文书消息表") |
||||||
|
public class IdentifyBook extends BaseEntity implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书消息ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "父ID") |
||||||
|
private String identifyBookRelevanceId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "文件桶") |
||||||
|
private String bucketName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书路径") |
||||||
|
private String path; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书文件名(文件名命名贵州:鉴定文书 + 业务数据编号 + 版本号) ") |
||||||
|
private String fileName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书版本号(示例:v1.0、v1.1)") |
||||||
|
private String version; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注") |
||||||
|
private String remarks; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "制作或修改人") |
||||||
|
@TableField(exist = false) |
||||||
|
private String operateUserName; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书审批表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-25 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_identify_book_approve") |
||||||
|
@ApiModel(value="IdentifyBookApprove对象", description="鉴定文书审批表 ") |
||||||
|
public class IdentifyBookApprove extends BaseEntity implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书审核审批表ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务ID") |
||||||
|
private String relevanceBusinessId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "年") |
||||||
|
private String year; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "序号") |
||||||
|
private String serialNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "附件类型集合(1:检验记录(含原始记录,检验图表)、2:鉴定事项确认书、3:鉴定委托书或鉴定聘请书、4:检材照片、5:送检人证件复印件、6:原鉴定文书)注:选择多个示例(1,2,...)其中”,“是英文") |
||||||
|
private String annexType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "文书类型:(1:检验报告,2:其它)注:选择多个示例(1,2,...)其中”,“是英文") |
||||||
|
private String bookType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检验报告数量(单位: 份)") |
||||||
|
private Integer inspectionReportNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "其它数量(单位:份)") |
||||||
|
private Integer otherNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否合格(1:检验方法、2:检验过程、3:检验图谱、4:检验结果)注:选择多个示例(1,2,...)其中”,“是英文") |
||||||
|
private String isQualified; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审核人ID") |
||||||
|
private String processUserBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审核人") |
||||||
|
private String processUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审核时间") |
||||||
|
private Date processTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审核意见") |
||||||
|
private String processMessage; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批人ID") |
||||||
|
private String approveUserBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批人") |
||||||
|
private String approveUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批时间") |
||||||
|
private Date approveTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批意见") |
||||||
|
private String approveMessage; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书审批记录文件路径") |
||||||
|
private String path; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书文件名(文件名命名规则:鉴定文书 + 版本号 + 文件类型) ") |
||||||
|
private String fileName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "版本号") |
||||||
|
private String version; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注") |
||||||
|
private String remarks; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书关联中间表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_identify_book_relevance") |
||||||
|
@ApiModel(value="IdentifyBookRelevance对象", description="鉴定文书关联中间表") |
||||||
|
public class IdentifyBookRelevance implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联业务ID") |
||||||
|
private String relevanceBusinessId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "年") |
||||||
|
private String year; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "流水号") |
||||||
|
private String serialNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书业务状态(-1:待制作,0:已制作/重新制作,1:鉴定文书-提交审核,2:鉴定文书-审核通过),-2:鉴定文书-审核未通过,3:鉴定文书-审核退回修改,4:鉴定文书-审批签发成功,-4:鉴定文书-审批拒绝签发,5:鉴定文书-审批签发退回修改,6:鉴定文书-已领取") |
||||||
|
private Integer bookStatus; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.sql.Blob; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书修改补充申请表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_modify_supplement_apply") |
||||||
|
@ApiModel(value="ModifySupplementApply对象", description="鉴定文书修改补充申请表") |
||||||
|
public class ModifySupplementApply implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书修改补充申请ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "年") |
||||||
|
private String year; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "流水号") |
||||||
|
private String serialNumber; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托ID", required = true) |
||||||
|
private String entrustmentId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托人ID") |
||||||
|
private String entrustBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "申请时间") |
||||||
|
private Date applyTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "申请人id") |
||||||
|
private String applyBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改原因") |
||||||
|
private String updateReason; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改内容") |
||||||
|
private String updateContent; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托人签名") |
||||||
|
private Blob entrustBySign; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托人签名日期") |
||||||
|
private Date entrustBySignDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改方式(1:修改存档文件、2:收回原件,重新出具鉴定文书)") |
||||||
|
private Integer updateWay; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改人签字") |
||||||
|
private Blob updateBySign; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改人签字日期") |
||||||
|
private Date updateBySignDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务状态(1:鉴定文书-提交修改补充申请,2:鉴定文书-修改补充-审核通过,-2:鉴定文书-修改补充-审核未通过,3:鉴定文书-修改补充-审批通过,-3:鉴定文书-修改补充-审批不通过)") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "授权人签字") |
||||||
|
private Blob empowerBySign; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "授权人签字日期") |
||||||
|
private Date empowerBySignDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "授权签字人意见") |
||||||
|
private String empowerBySignOpinion; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "技术人员签字") |
||||||
|
private Blob technologyBySign; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "技术人员签字日期") |
||||||
|
private Date technologyBySignDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "技术人员签字意见") |
||||||
|
private String technologyBySignOpinion; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书修改/申请文件路径") |
||||||
|
private String path; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定文书修改/申请文件名(文件名命名规则:鉴定文书 + 文件类型) ") |
||||||
|
private String fileName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注") |
||||||
|
private String remarks; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "委托人姓名") |
||||||
|
private String entrustUserName; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,58 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 领取鉴定文书信息表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-30 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_receive_identify_book") |
||||||
|
@ApiModel(value="ReceiveIdentifyBook对象", description="领取鉴定文书信息表") |
||||||
|
public class ReceiveIdentifyBook implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联业务ID") |
||||||
|
private String relevanceBusinessId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取方式") |
||||||
|
private String receiveWay; |
||||||
|
|
||||||
|
@ApiModelProperty(value="邮寄地址") |
||||||
|
private String postAddress; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取人ID") |
||||||
|
private String recipientsUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取人姓名") |
||||||
|
private String recipientsUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "领取人时间") |
||||||
|
private Date recipientsTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "经办人ID") |
||||||
|
private String operatorUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "经办人姓名") |
||||||
|
private String operatorUserName; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,66 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定性分析检验结果 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_result_entrustment_qualitative") |
||||||
|
@ApiModel(value="BResultEntrustmentQualitative对象", description="委托定性分析检验结果") |
||||||
|
public class ResultEntrustmentQualitative implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "实验id") |
||||||
|
private String experimentId; |
||||||
|
|
||||||
|
private String sampleId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "样本编号,字符串,必填,长度 200") |
||||||
|
private String sampleNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材序号, 通常是受理的序号") |
||||||
|
private Integer materialIndex; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "样本的简要名称") |
||||||
|
private String shortName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "化合物,必填,长度 200") |
||||||
|
private String compound; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "negative:未检出,positive:检出") |
||||||
|
private Boolean result; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,66 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定量检验结果 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_result_entrustment_ration") |
||||||
|
@ApiModel(value="BResultEntrustmentRation对象", description="委托定量检验结果") |
||||||
|
public class ResultEntrustmentRation implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "实验id") |
||||||
|
private String experimentId; |
||||||
|
|
||||||
|
private String sampleId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "样本编号,字符串,必填,长度 200") |
||||||
|
private String sampleNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材序号, 通常是受理的序号") |
||||||
|
private Integer materialIndex; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "化合物,必填,长度 200") |
||||||
|
private String compound; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "定量结果,必填,长度12, 精度8") |
||||||
|
private Double result; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注说明") |
||||||
|
private String comments; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,196 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; |
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import digital.laboratory.platform.sys.entity.DrugLite; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验用的样本 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName(value = "b_sample", autoResultMap = true) |
||||||
|
@ApiModel(value="Sample对象", description="检验用的样本") |
||||||
|
public class Sample extends BaseEntity { |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本id |
||||||
|
*/ |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
@ApiModelProperty(value = "样本id") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材id, 对应委托的检材id或毛发任务的检材id或污水任务的检材id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "检材id, 对应委托的检材id或毛发任务的检材id或污水任务的检材id") |
||||||
|
private String identificationMaterialId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本编号") |
||||||
|
private String sampleNo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本来源: entrustment/hairJob/sewageJob/.... |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "样本来源: entrustment/hairJob/sewageJob/....") |
||||||
|
private String source; |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="委托id") |
||||||
|
private String entrustmentId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 污水任务id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="污水任务id") |
||||||
|
private String sewageJobId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 毛发任务id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="毛发任务id") |
||||||
|
private String hairJobId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定性分析 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="定性分析") |
||||||
|
private Boolean qualitativeAnalysis; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定量分析 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="定量分析") |
||||||
|
private Boolean quantitativeAnalysis; |
||||||
|
|
||||||
|
/** |
||||||
|
* 候选毒品列表(drug 对象的 json array) |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="候选毒品列表(drug 对象的 json array)") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<DrugLite> candidateDrugs; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材情况之承载物名称, 例如 棉签 2 棵, 粉末 少许") |
||||||
|
private String fundName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物数量, 如 3 颗 或 1包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材情况之承载物数量, 如 3 颗 或 1包") |
||||||
|
private Integer fundQuantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 检材情况之承载物单位, 例如 5 颗, 3包 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="检材情况之承载物单位, 例如 5 颗, 3包") |
||||||
|
private String fundUnit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样品数量, 例如 2.3 克 或 3.1 毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="样品数量, 例如 2.3 克 或 3.1 毫升") |
||||||
|
private BigDecimal quantity; |
||||||
|
|
||||||
|
/** |
||||||
|
* 计量单位, 例如 3.8 克 或 4.5毫升 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="计量单位, 例如 3.8 克 或 4.5毫升") |
||||||
|
private String unit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 附加属性, 如:体积3毫升,密码123,型号abc |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="附加属性, 如:体积3毫升,密码123,型号abc") |
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class) |
||||||
|
private List<IMAdditionalProperty> additionalProperties; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提取方法 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="提取方法") |
||||||
|
private String drawWay; |
||||||
|
|
||||||
|
/** |
||||||
|
* 盒子编号 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="盒子编号") |
||||||
|
private String boxId; |
||||||
|
|
||||||
|
/** |
||||||
|
* A样还是B样 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="A样还是B样") |
||||||
|
private String sampleType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 存储方法:常规,冷藏,特殊 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="存储方法:常规,冷藏,特殊") |
||||||
|
private String storageMethod; |
||||||
|
|
||||||
|
/** |
||||||
|
* 受理时间, 相当于检验开始时间, 用于比对花了多少时间在检验上 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="受理时间, 相当于检验开始时间, 用于比对花了多少时间在检验上") |
||||||
|
private LocalDateTime acceptTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态: 0=已受理,等分配, 1=已分配到检验人员, 2=检验完成 |
||||||
|
*/ |
||||||
|
// @ApiModelProperty(value="状态: 0=已受理,等分配, 1=已分配到检验人员, 2=检验完成")
|
||||||
|
// private Integer status;
|
||||||
|
@ApiModelProperty(value = "状态: 0=已受理,等分配, 1=已分配到检验人员, 2=检验完成") |
||||||
|
private IMTSampleStatus status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 当前持有者 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="当前持有者") |
||||||
|
private String holder; |
||||||
|
|
||||||
|
/** |
||||||
|
* 送检单位id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="送检单位id") |
||||||
|
private String orgId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 样本名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value="样本名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "检材受理编号") |
||||||
|
private String acceptNo; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,63 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import java.util.Date; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import java.io.Serializable; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 采集员 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_taker") |
||||||
|
@ApiModel(value="Taker对象", description="采集员") |
||||||
|
public class Taker implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员拥有者userId") |
||||||
|
private String ownerUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员姓名") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员职务") |
||||||
|
private String position; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员证件名称") |
||||||
|
private String cert; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员证件编号") |
||||||
|
private String idnum; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "采集员电话") |
||||||
|
private String phone; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人") |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间") |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人") |
||||||
|
private String updateBy; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField; |
||||||
|
import com.baomidou.mybatisplus.annotation.*; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 任务信息表 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-31 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("b_task_notification") |
||||||
|
@ApiModel(value="TaskNotification对象", description="任务信息表") |
||||||
|
public class TaskNotification extends BaseEntity implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "消息ID") |
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "消息标题") |
||||||
|
private String title; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务类型(1:鉴定文书-审核,2:鉴定文书-审核退回修改,3:鉴定文书-审批,4:鉴定文书-审批退回修改,5:鉴定文书-签发/领取,6:鉴定文书修改/补充-审核,7:鉴定文书修改/补充-审批)") |
||||||
|
private Integer type; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务ID") |
||||||
|
private String businessId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "提交人ID") |
||||||
|
private String submitterUserId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "提交人姓名") |
||||||
|
private String submitterUserName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "提交日期") |
||||||
|
private Date submitterTime; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定编号") |
||||||
|
private String acceptNo; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "案件名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "消息内容") |
||||||
|
private String content; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "处理人员ID") |
||||||
|
private String transactionPersonnelId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "办理人姓名") |
||||||
|
private String transactionPersonnelName; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "办理人权限组") |
||||||
|
private String permissionGroup; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "处理状态(0: 待处理,1:已处理,2:退回修改,-1:未通过)") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.entity; |
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
// 本类的实例对应 Entrustment 对象中的 ProcessInfo 字段。
|
||||||
|
@Data |
||||||
|
public class UpdateInfo { |
||||||
|
String userId; |
||||||
|
String userName; |
||||||
|
String orgId; |
||||||
|
String orgName; |
||||||
|
|
||||||
|
// @JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||||
|
// @JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||||
|
//@JSONField(format ="yyyy-MM-dd HH:mm:ss")
|
||||||
|
//LocalDateTime processTime;
|
||||||
|
String processTime; // 如果使用 LocalDateTime 类型, 序列化和反序列化的时候老是有格式转换的错误, 我们其实对内容不需要再加工, 直接保存字符串算了
|
||||||
|
|
||||||
|
String operation; // 动作, 例如: 录入、审核、审批 等
|
||||||
|
Integer opCode; // 动作码, 通常: 1=通过, -1=拒绝
|
||||||
|
|
||||||
|
public UpdateInfo() { |
||||||
|
} |
||||||
|
|
||||||
|
public UpdateInfo(String userId, |
||||||
|
String userName, |
||||||
|
String orgId, |
||||||
|
String orgName, |
||||||
|
String operation, |
||||||
|
Integer opCode) { |
||||||
|
this.userId = userId; |
||||||
|
this.userName = userName; |
||||||
|
this.orgId = orgId; |
||||||
|
this.orgName = orgName; |
||||||
|
this.processTime = DateUtil.now(); |
||||||
|
this.operation = operation; |
||||||
|
this.opCode = opCode; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.event; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
import org.springframework.context.ApplicationEvent; |
||||||
|
|
||||||
|
import java.time.Clock; |
||||||
|
import java.util.Set; |
||||||
|
|
||||||
|
/** |
||||||
|
* 推送数据到LabsCare 数据平台上的spring 事件 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public class PushDataToLabsCareEvent extends ApplicationEvent { |
||||||
|
|
||||||
|
/** |
||||||
|
* 委托id |
||||||
|
*/ |
||||||
|
private final String entrustId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 推送的数据类型, 1 鉴定委托书数据 | 2 鉴定事项确认书数据 | 3 生物检材定性记录报告数据 | 4 普通检材定性记录非红外报告数据 |
||||||
|
* 5 鉴定报告审批表数据 | 6 定性报告数据 | 7 归档报告信息数据 |
||||||
|
*/ |
||||||
|
private final Set<Integer> pushType; |
||||||
|
|
||||||
|
public PushDataToLabsCareEvent(Object source, String entrustId, Set<Integer> pushType) { |
||||||
|
super(source); |
||||||
|
this.entrustId = entrustId; |
||||||
|
this.pushType = pushType; |
||||||
|
} |
||||||
|
|
||||||
|
public PushDataToLabsCareEvent(Object source, Clock clock, String entrustId, Set<Integer> pushType) { |
||||||
|
super(source, clock); |
||||||
|
this.entrustId = entrustId; |
||||||
|
this.pushType = pushType; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,67 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.handler; |
||||||
|
|
||||||
|
import digital.laboratory.platform.common.core.constant.CommonConstants; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.sys.entity.Dictionary; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteDictionaryService; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.beans.factory.annotation.Value; |
||||||
|
import org.springframework.boot.ApplicationArguments; |
||||||
|
import org.springframework.boot.ApplicationRunner; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.Optional; |
||||||
|
|
||||||
|
/** |
||||||
|
* App 启动类 |
||||||
|
* 当 Spring Application 启动完成后, 会调用这个类的 run() 方法进行一些最后的初始化。 |
||||||
|
* 我们在这个方法中从数据库加载一些全局的配置 |
||||||
|
* |
||||||
|
* @author Zhang Xiaolong |
||||||
|
*/ |
||||||
|
|
||||||
|
@Component |
||||||
|
@RequiredArgsConstructor |
||||||
|
public class AppStartupRunner implements ApplicationRunner { |
||||||
|
|
||||||
|
private final RemoteDictionaryService remoteDictionaryService; |
||||||
|
|
||||||
|
public static Map<String, String> entrustmentConfig = new HashMap<>(); |
||||||
|
|
||||||
|
public static String getCfg(String code) { |
||||||
|
return entrustmentConfig.get(code); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
* @param args 参数 |
||||||
|
* @throws Exception 异常 |
||||||
|
* |
||||||
|
* // @SysLog("委托受理模块初始化") 这里不能使用 @SysLog(), 因为 SysLog 还没有初始化
|
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void run(ApplicationArguments args) throws Exception { |
||||||
|
// BusinessCodeUtils.removeSymbols("x-*/)——0*&……%¥#@xasdf!*&^&%^ 中文、/+)(()\n\\xx\rx");
|
||||||
|
|
||||||
|
{ |
||||||
|
// 加载 entrustment 在字典中的配置
|
||||||
|
R<List<Dictionary>> r = remoteDictionaryService.getDictionaryByType(CommonConstants.DLP_TYPE_ENTRUSTMENT); |
||||||
|
if (Optional.ofNullable(r).isPresent() && (r.getData() != null)) { |
||||||
|
List<Dictionary> itemList = r.getData(); |
||||||
|
for (Dictionary item : itemList) { |
||||||
|
entrustmentConfig.put(item.getCode(), item.getLabel()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
for (String key : entrustmentConfig.keySet()) { |
||||||
|
System.out.println(String.format("entrustmentConfig[%s]=%s", key, entrustmentConfig.get(key))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,67 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.listener; |
||||||
|
|
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.event.PushDataToLabsCareEvent; |
||||||
|
import digital.laboratory.platform.identifybook.service.PushDataToLabsCareService; |
||||||
|
import digital.laboratory.platform.identifybook.threadpool.GlobalThreadPool; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.context.ApplicationListener; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.util.concurrent.CompletableFuture; |
||||||
|
|
||||||
|
/** |
||||||
|
* 监听有关推送数据到LabsCare 平台的事件, 采用异步 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Component |
||||||
|
public class PushDataToLabsCareEventListener implements ApplicationListener<PushDataToLabsCareEvent> { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private PushDataToLabsCareService pushDataToLabsCareService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 处理委托数据推送事件 |
||||||
|
* |
||||||
|
* @param event 委托数据推送事件对象 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void onApplicationEvent(PushDataToLabsCareEvent event) { |
||||||
|
CompletableFuture.runAsync(() -> { |
||||||
|
event.getPushType().forEach(pushType -> { |
||||||
|
// 处理不同的推送类型
|
||||||
|
switch (pushType) { |
||||||
|
case 5: // 推送鉴定报告审批表数据
|
||||||
|
try { |
||||||
|
pushDataToLabsCareService.pushAppraisalReportApprovalFormData(event.getEntrustId()); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("委托id为 {} 的鉴定报告审批表数据推送失败!", event.getEntrustId(), e); |
||||||
|
} |
||||||
|
break; |
||||||
|
case 6: // 推送定性报告数据
|
||||||
|
try { |
||||||
|
pushDataToLabsCareService.pushQualitativeReportData(event.getEntrustId()); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("委托id为 {} 的定性报告数据推送失败!", event.getEntrustId(), e); |
||||||
|
} |
||||||
|
break; |
||||||
|
case 7: // 推送定性报告数据
|
||||||
|
try { |
||||||
|
pushDataToLabsCareService.pushArchiveReportInfoData(event.getEntrustId()); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("委托id为 {} 的归档报告信息数据推送失败!", event.getEntrustId(), e); |
||||||
|
} |
||||||
|
break; |
||||||
|
default: |
||||||
|
log.warn("未知的推送类型: {}", event.getPushType()); |
||||||
|
break; |
||||||
|
} |
||||||
|
}); |
||||||
|
}, GlobalThreadPool.getInstance()).exceptionally(e -> { |
||||||
|
log.error("推送数据到 LabsCare 失败", e); |
||||||
|
return null; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.BIdentificationProcess; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-27 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface BIdentificationProcessMapper extends BaseMapper<BIdentificationProcess> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.BusinessProcessRecord; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 业务流程记录表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface BusinessProcessRecordMapper extends BaseMapper<BusinessProcessRecord> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.CaseEvent; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 案件、事件 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface CaseEventMapper extends BaseMapper<CaseEvent> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.CaseEvidence; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 与案件相关的物证信息 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface CaseEvidenceMapper extends BaseMapper<CaseEvidence> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Deliverer; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 送检员 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface DelivererMapper extends BaseMapper<Deliverer> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.EntrustmentBundle; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托与实验关系 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface EntrustmentBundleMapper extends BaseMapper<EntrustmentBundle> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.EntrustmentIdentificationMaterial; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检材信息 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface EntrustmentIdentificationMaterialMapper extends BaseMapper<EntrustmentIdentificationMaterial> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustCaseDTO; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustmentDTO; |
||||||
|
import digital.laboratory.platform.identifybook.entity.Entrustment; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import digital.laboratory.platform.identifybook.req.EntrustmentREQ; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface EntrustmentMapper extends BaseMapper<Entrustment> { |
||||||
|
|
||||||
|
EntrustCaseDTO getEntrustCaseDTOById(@Param(value = "entrustId") String entrustId); |
||||||
|
|
||||||
|
IPage<EntrustmentDTO> findEntrustPage(IPage<EntrustmentDTO> page, @Param(value = "req") EntrustmentREQ req); |
||||||
|
|
||||||
|
List<EntrustmentDTO> findEntrust(@Param(value = "id") String id, @Param(value = "identificationId") String identificationId); |
||||||
|
|
||||||
|
EntrustmentDTO getEntrustmentDTO(@Param(value = "entrustId") String entrustId); |
||||||
|
|
||||||
|
long countWSLBSum(@Param("bookStatusList") List<Integer> bookStatusList); |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.ExaminationMethods; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验方法 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ExaminationMethodsMapper extends BaseMapper<ExaminationMethods> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Experiment; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 实验(检验方法的实例) Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ExperimentMapper extends BaseMapper<Experiment> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.HairJobIdentificationMaterial; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发任务的检材信息 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface HairJobIdentificationMaterialMapper extends BaseMapper<HairJobIdentificationMaterial> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.HairJob; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 毛发检测任务 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface HairJobMapper extends BaseMapper<HairJob> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Identification; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定表,一个鉴定可能会有多个委托 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface IdentificationMapper extends BaseMapper<Identification> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookApprove; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书审批表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-25 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface IdentifyBookApproveMapper extends BaseMapper<IdentifyBookApprove> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBook; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书消息表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface IdentifyBookMapper extends BaseMapper<IdentifyBook> { |
||||||
|
|
||||||
|
IdentifyBook getMaxVersionIdentifyBook(@Param(value = "fkId") String fkId); |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.IdentifyBookRelevance; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书关联中间表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface IdentifyBookRelevanceMapper extends BaseMapper<IdentifyBookRelevance> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.ModifySupplementApply; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 鉴定文书修改补充申请表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-22 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ModifySupplementApplyMapper extends BaseMapper<ModifySupplementApply> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import digital.laboratory.platform.identifybook.dto.ReceiveIdentifyBookDTO; |
||||||
|
import digital.laboratory.platform.identifybook.entity.ReceiveIdentifyBook; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 领取鉴定文书信息表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-30 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ReceiveIdentifyBookMapper extends BaseMapper<ReceiveIdentifyBook> { |
||||||
|
|
||||||
|
IPage<ReceiveIdentifyBookDTO> pageReceiveIdentifyBook(IPage<ReceiveIdentifyBook> page, @Param(value = "key") String key); |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.ResultEntrustmentQualitative; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定性分析检验结果 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ResultEntrustmentQualitativeMapper extends BaseMapper<ResultEntrustmentQualitative> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.ResultEntrustmentRation; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托定量检验结果 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface ResultEntrustmentRationMapper extends BaseMapper<ResultEntrustmentRation> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Sample; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 检验用的样本 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface SampleMapper extends BaseMapper<Sample> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.Taker; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 采集员 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface TakerMapper extends BaseMapper<Taker> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,26 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustmentDTO; |
||||||
|
import digital.laboratory.platform.identifybook.entity.TaskNotification; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import digital.laboratory.platform.identifybook.req.EntrustmentREQ; |
||||||
|
import digital.laboratory.platform.identifybook.vo.TaskNotificationVO; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 任务信息表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-08-31 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface TaskNotificationMapper extends BaseMapper<TaskNotification> { |
||||||
|
IPage<TaskNotificationVO> queryTaskNotificationPage(IPage<TaskNotification> page, @Param(Constants.WRAPPER) QueryWrapper<TaskNotification> qw); |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.req; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.BusinessProcessRecord; |
||||||
|
import digital.laboratory.platform.identifybook.utils.BaseRequest; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/26 0:31 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value="BusinessProcessRecordREQ对象", description="封装条件属性") |
||||||
|
public class BusinessProcessRecordREQ extends BaseRequest<BusinessProcessRecord> implements Serializable { |
||||||
|
} |
@ -0,0 +1,36 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.req; |
||||||
|
|
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.dto.EntrustmentDTO; |
||||||
|
import digital.laboratory.platform.identifybook.utils.BaseRequest; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 委托 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023-05-17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value="EntrustmentREQ对象", description="封装条件属性") |
||||||
|
public class EntrustmentREQ extends BaseRequest<EntrustmentDTO> implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "参数key") |
||||||
|
private String key; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "鉴定委托单位编码") |
||||||
|
private String clientOrgId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态") |
||||||
|
private List<String> bookStatusList; |
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
package digital.laboratory.platform.identifybook.req; |
||||||
|
|
||||||
|
import digital.laboratory.platform.identifybook.entity.ModifySupplementApply; |
||||||
|
import digital.laboratory.platform.identifybook.utils.BaseRequest; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author 旌霖科技-www.jinglin.com |
||||||
|
* @since 2023/5/26 0:08 |
||||||
|
*/ |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel(value="ModifySupplementApplyREQ对象", description="封装条件属性") |
||||||
|
public class ModifySupplementApplyREQ extends BaseRequest<ModifySupplementApply> implements Serializable { |
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务模糊查询:(鉴定文书编号/委托人姓名)") |
||||||
|
private String key; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务状态(1:鉴定文书-提交修改补充申请,2:鉴定文书-修改补充-审核通过,-2:鉴定文书-修改补充-审核未通过,3:鉴定文书-修改补充-审批通过,-3:鉴定文书-修改补充-审批通过)") |
||||||
|
private String status; |
||||||
|
|
||||||
|
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue