已添加8个文件
已修改24个文件
1958 ■■■■ 文件已修改
db/430设备管理数据库设计.pdma.json 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/business_code_zhr.sql 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/create_table_zhr.sql 552 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/process/停用加工设备申请.bpmn20.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/process/技术状态变更申请流程.bpmn20.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/process/技术状态鉴定工单变更流程.bpmn20.xml 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/process/技术状态鉴定流程.bpmn20.xml 342 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/ZHR/process/技术状态鉴定申请流程.bpmn20.xml 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderChangeController.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChange.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChangeDetail.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderChange.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/InspectionOrderGenerateJob.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationOrderChangeRequest.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderChangeServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/430É豸¹ÜÀíÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -4,7 +4,7 @@
  "avatar": "",
  "version": "4.9.2",
  "createdTime": "2025-3-10 16:38:19",
  "updatedTime": "2025-7-17 19:49:48",
  "updatedTime": "2025-7-18 10:53:30",
  "dbConns": [],
  "profile": {
    "default": {
@@ -29346,6 +29346,24 @@
          "attr9": "",
          "id": "7A93E21A-C20B-4A97-B8BA-F983BB7B3AB3",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64"
        },
        {
          "defKey": "remark",
          "defName": "备注",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
          "extProps": {},
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "id": "7AE77D2E-92FF-4575-9D6A-AEDA522C77CA"
        }
      ],
      "correlations": [],
@@ -30278,24 +30296,6 @@
          "extProps": {},
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "id": "589C45F0-0F8C-4497-8999-A8314DE5D601"
        },
        {
          "defKey": "order_id",
          "defName": "技术状态鉴定工单ID",
          "comment": "搬迁使用",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
          "extProps": {},
          "domain": "16120F75-6AA7-4483-868D-F07F511BB081",
          "id": "153169DD-C196-48EC-B0B4-60626C830D64"
        }
      ],
      "correlations": [],
@@ -33216,4 +33216,4 @@
      "enable": true
    }
  ]
}
}
db/ZHR/business_code_zhr.sql
@@ -1,3 +1,7 @@
--技术状态鉴定相关编码规则
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1942396178475687937', N'admin', '2025-07-08 09:31:51.5660000', NULL, NULL, 0, N'技术状态鉴定规范编码规则', N'TechnicalStatusStandardCodeRule', N'TSES', N'yyyy', NULL, NULL, 4);
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1943153060836503553', N'admin', '2025-07-10 11:39:26.4060000', NULL, NULL, 0, N'技术状态鉴定工单编码规则', N'TechnicalStatusEvaluationOrderCodeRule', N'TSEO', N'yyyy', NULL, NULL, 4);
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1946025937108844545', N'admin', '2025-07-18 09:55:13.4730000', NULL, NULL, 0, N'技术状态鉴定工单变更编码规则', N'TechnicalStatusEvaluationOrderChangeCodeRule', N'TSEOC', N'yyyy', NULL, NULL, 4);
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1946026069359443970', N'admin', '2025-07-18 09:55:45.0080000', NULL, NULL, 0, N'技术状态变更编码规则', N'TechnicalStatusChangeCodeRule', N'TSC', N'yyyy', NULL, NULL, 4);
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1946026402634645506', N'admin', '2025-07-18 09:57:04.4710000', NULL, NULL, 0, N'技术状态鉴定申请编码规则', N'TechnicalStatusEvaluationApplyCodeRule', N'TSEA', N'yyyy', NULL, NULL, 4);
INSERT INTO [dbo].[sys_business_code_rule] ([id], [create_by], [create_time], [update_by], [update_time], [del_flag], [business_name], [business_code], [prefix], [year_format], [month_format], [day_format], [seq_length]) VALUES (N'1946026519441817602', N'admin', '2025-07-18 09:57:32.3160000', NULL, NULL, 0, N'停用加工设备申请编码规则', N'TechnicalStatusDeactivateCodeRule', N'TSD', N'yyyy', NULL, NULL, 4);
db/ZHR/create_table_zhr.sql
@@ -1049,89 +1049,247 @@
--技术状态鉴定工单变更
IF EXISTS (SELECT *
           FROM sys.objects
           WHERE object_id = OBJECT_ID(N'[dbo].[eam_technical_status_evaluation_order_change]')
             AND type in (N'U'))
    DROP TABLE [dbo].[eam_technical_status_evaluation_order_change];
CREATE TABLE [dbo].[eam_technical_status_evaluation_order_change]
(
    id                                NVARCHAR(32) NOT NULL,
    create_by                         NVARCHAR(50),
    create_time                       DATETIME2,
    update_by                         NVARCHAR(50),
    update_time                       DATETIME2,
    del_flag                          INT,
    order_id                          NVARCHAR(32),
    change_order_num                  NVARCHAR(100),
    applicant                         NVARCHAR(50),
    factory_org_code                  NVARCHAR(100),
    apply_date                        DATETIME2,
    change_status                     NVARCHAR(64),
    apply_reason                      NVARCHAR(64),
    deferred_maintenance_date         DATETIME2,
    equipment_manager_signature       NVARCHAR(50),
    equipment_manager_signature_time  DATETIME2,
    depart_manager_signature          NVARCHAR(50),
    depart_manager_signature_time     DATETIME2,
    depart_manager_comment            NVARCHAR(255),
    production_support_signature      NVARCHAR(50),
    production_support_signature_time DATETIME2,
    production_support_comment        NVARCHAR(255),
    hf_code                           NVARCHAR(100),
    PRIMARY KEY (id)
);
    [id]                                  nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
    [create_by]                           nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [create_time]                         datetime2(7)                            NULL,
    [update_by]                           nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [update_time]                         datetime2(7)                            NULL,
    [del_flag]                            int                                     NULL,
    [order_id]                            nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
    [equipment_id]                        nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
    [change_order_num]                    nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    [applicant]                           nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [factory_org_code]                    nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    [apply_date]                          datetime2(7)                            NULL,
    [change_status]                       nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [apply_reason]                        nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [deferred_evaluation_date]            datetime2(7)                            NULL,
    [equipment_manager_signature]         nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [equipment_manager_signature_time]    datetime2(7)                            NULL,
    [equipment_manager_signature_result]  nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [equipment_manager_comment]           nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    [depart_manager_signature]            nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_manager_signature_time]       datetime2(7)                            NULL,
    [depart_manager_signature_result]     nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_manager_comment]              nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    [production_support_signature]        nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [production_support_signature_time]   datetime2(7)                            NULL,
    [production_support_signature_result] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [production_support_comment]          nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    [hf_code]                             nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    CONSTRAINT [PK__eam_tech__3213E83FFE6D6178] PRIMARY KEY CLUSTERED ([id])
        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
        ON [PRIMARY]
)
    ON [PRIMARY]
GO
EXEC sp_addextendedproperty 'MS_Description', '技术状态鉴定工单变更', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, null, null;
EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', id;
EXEC sp_addextendedproperty 'MS_Description', '创建人', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', create_by;
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', create_time;
EXEC sp_addextendedproperty 'MS_Description', '更新人', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', update_by;
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', update_time;
EXEC sp_addextendedproperty 'MS_Description', '删除标记', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', del_flag;
EXEC sp_addextendedproperty 'MS_Description', '工单ID', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', order_id;
EXEC sp_addextendedproperty 'MS_Description', '变更单号', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', change_order_num;
EXEC sp_addextendedproperty 'MS_Description', '申请人', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', applicant;
EXEC sp_addextendedproperty 'MS_Description', '申请部门', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', factory_org_code;
EXEC sp_addextendedproperty 'MS_Description', '申请日期', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', apply_date;
EXEC sp_addextendedproperty 'MS_Description', '变更状态;待提交、待主管审核、待部门确认、待保障部确认、已作废、已完成',
     'SCHEMA', dbo, 'table', eam_technical_status_evaluation_order_change, 'column', change_status;
EXEC sp_addextendedproperty 'MS_Description',
     '变更原因;生产任务急无法停机、设备故障正处于维修状态、设备已报废、设备大修、搬迁、改造', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', apply_reason;
EXEC sp_addextendedproperty 'MS_Description', '变更鉴定日期', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', deferred_maintenance_date;
EXEC sp_addextendedproperty 'MS_Description', '主管领导签字', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', equipment_manager_signature;
EXEC sp_addextendedproperty 'MS_Description', '主管领导签字时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', equipment_manager_signature_time;
EXEC sp_addextendedproperty 'MS_Description', '部门领导签字;根据变更原因类型区分不同的人审批', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', depart_manager_signature;
EXEC sp_addextendedproperty 'MS_Description', '部门领导签字时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', depart_manager_signature_time;
EXEC sp_addextendedproperty 'MS_Description', '部门领导意见', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', depart_manager_comment;
EXEC sp_addextendedproperty 'MS_Description', '生产保障部领导签字', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', production_support_signature;
EXEC sp_addextendedproperty 'MS_Description', '生产保障部领导签字时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', production_support_signature_time;
EXEC sp_addextendedproperty 'MS_Description', '生产保障部领导意见', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', production_support_comment;
EXEC sp_addextendedproperty 'MS_Description', 'HF编码', 'SCHEMA', dbo, 'table',
     eam_technical_status_evaluation_order_change, 'column', hf_code;
ALTER TABLE [dbo].[eam_technical_status_evaluation_order_change]
    SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主键',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'创建人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'创建时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'更新人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'更新时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'删除标记',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'del_flag'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'工单ID',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'order_id'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'设备ID',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'equipment_id'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更单号',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'change_order_num'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'申请人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'applicant'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'申请部门',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'factory_org_code'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'申请日期',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'apply_date'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更状态;待提交、待主管审核、待部门确认、待保障部确认、已作废、已完成',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'change_status'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更原因;生产任务急无法停机、设备故障正处于维修状态、设备已报废、设备大修、搬迁、改造',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'apply_reason'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更鉴定日期',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'deferred_evaluation_date'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主管领导签字',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'equipment_manager_signature'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主管领导签字时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'equipment_manager_signature_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主管领导签字结果',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'equipment_manager_signature_result'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主管领导意见',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'equipment_manager_comment'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'部门领导签字;根据变更原因类型区分不同的人审批',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'depart_manager_signature'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'部门领导签字时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'depart_manager_signature_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'部门领导签字结果',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'depart_manager_signature_result'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'部门领导意见',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'depart_manager_comment'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'生产保障部领导签字',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'production_support_signature'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'生产保障部领导签字时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'production_support_signature_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'生产保障部领导签字结果',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'production_support_signature_result'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'生产保障部领导意见',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'production_support_comment'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'HF编码',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change',
     'COLUMN', N'hf_code'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'技术状态鉴定工单变更',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_evaluation_order_change'
--技术状态变更申请
IF EXISTS (SELECT *
@@ -1141,61 +1299,189 @@
    DROP TABLE [dbo].[eam_technical_status_change];
CREATE TABLE [dbo].[eam_technical_status_change]
(
    id                              NVARCHAR(32) NOT NULL,
    create_by                       NVARCHAR(50),
    create_time                     DATETIME2,
    update_by                       NVARCHAR(50),
    update_time                     DATETIME2,
    del_flag                        INT,
    change_order_num                NVARCHAR(100),
    change_status                   NVARCHAR(64),
    designer                        NVARCHAR(50),
    designer_time                   DATETIME2,
    depart_header_signature         NVARCHAR(50),
    depart_header_signature_time    DATETIME2,
    depart_header_signature_comment NVARCHAR(255),
    depart_leader_signature         NVARCHAR(50),
    depart_leader_signature_time    DATETIME2,
    depart_leader_signature_comment NVARCHAR(255),
    hf_code                         NVARCHAR(100),
    PRIMARY KEY (id)
);
    [id]                             nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
    [create_by]                      nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [create_time]                    datetime2(7)                            NULL,
    [update_by]                      nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [update_time]                    datetime2(7)                            NULL,
    [del_flag]                       int                                     NULL,
    [change_order_num]               nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    [change_status]                  nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [factory_org_code]               nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    [designer]                       nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [designer_time]                  datetime2(7)                            NULL,
    [depart_header_signature]        nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_header_signature_time]   datetime2(7)                            NULL,
    [depart_header_signature_result] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_header_comment]          nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    [depart_leader_signature]        nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_leader_signature_time]   datetime2(7)                            NULL,
    [depart_leader_signature_result] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
    [depart_leader_comment]          nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    [hf_code]                        nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL,
    [remark]                         nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
    CONSTRAINT [PK__eam_tech__3213E83F5B1204F4] PRIMARY KEY CLUSTERED ([id])
        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
        ON [PRIMARY]
)
    ON [PRIMARY]
GO
EXEC sp_addextendedproperty 'MS_Description', '技术状态变更申请', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     null, null;
EXEC sp_addextendedproperty 'MS_Description', '主键', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column', id;
EXEC sp_addextendedproperty 'MS_Description', '创建人', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     create_by;
EXEC sp_addextendedproperty 'MS_Description', '创建时间', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     create_time;
EXEC sp_addextendedproperty 'MS_Description', '更新人', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     update_by;
EXEC sp_addextendedproperty 'MS_Description', '更新时间', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     update_time;
EXEC sp_addextendedproperty 'MS_Description', '删除标记', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     del_flag;
EXEC sp_addextendedproperty 'MS_Description', '变更单号', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     change_order_num;
EXEC sp_addextendedproperty 'MS_Description', '变更单状态', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     'column', change_status;
EXEC sp_addextendedproperty 'MS_Description', '编制人', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     designer;
EXEC sp_addextendedproperty 'MS_Description', '编制时间', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     designer_time;
EXEC sp_addextendedproperty 'MS_Description', '使用单位室主管签字', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     'column', depart_header_signature;
EXEC sp_addextendedproperty 'MS_Description', '使用单位室主管签字时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_change, 'column', depart_header_signature_time;
EXEC sp_addextendedproperty 'MS_Description', '使用单位室主管意见', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     'column', depart_header_signature_comment;
EXEC sp_addextendedproperty 'MS_Description', '使用单位部主管签字', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     'column', depart_leader_signature;
EXEC sp_addextendedproperty 'MS_Description', '使用单位部主管签字时间', 'SCHEMA', dbo, 'table',
     eam_technical_status_change, 'column', depart_leader_signature_time;
EXEC sp_addextendedproperty 'MS_Description', '使用单位部主管签字', 'SCHEMA', dbo, 'table', eam_technical_status_change,
     'column', depart_leader_signature_comment;
EXEC sp_addextendedproperty 'MS_Description', 'HF编码', 'SCHEMA', dbo, 'table', eam_technical_status_change, 'column',
     hf_code;
ALTER TABLE [dbo].[eam_technical_status_change]
    SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
     'MS_Description', N'主键',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'创建人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'创建时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'更新人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'更新时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'删除标记',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'del_flag'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更单号',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'change_order_num'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'变更单状态',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'change_status'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'申请单位',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'factory_org_code'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'编制人',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'designer'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'编制时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'designer_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位室级主管签字',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_header_signature'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位室级主管签字时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_header_signature_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位室级主管签字结果',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_header_signature_result'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位室级主管意见',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_header_comment'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位部级主管签字',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_leader_signature'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位部级主管签字时间',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_leader_signature_time'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位部级主管签字结果',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_leader_signature_result'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'使用单位部级主管签字',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'depart_leader_comment'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'HF编码',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'hf_code'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'备注',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change',
     'COLUMN', N'remark'
GO
EXEC sp_addextendedproperty
     'MS_Description', N'技术状态变更申请',
     'SCHEMA', N'dbo',
     'TABLE', N'eam_technical_status_change'
--技术状态变更申请明细
db/ZHR/process/Í£Óüӹ¤É豸ÉêÇë.bpmn20.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
  <process id="technical_status_deactivate_process" name="停用加工设备申请" flowable:processCategory="TECHNICAL_STATUS_DEACTIVATE_PROCESS">
    <startEvent id="startNode1" name="开始">
      <outgoing>Flow_0yfurvp</outgoing>
    </startEvent>
    <sequenceFlow id="Flow_0yfurvp" name="提交" sourceRef="startNode1" targetRef="Activity_02hq39f" />
    <userTask id="Activity_02hq39f" name="申请提交">
      <incoming>Flow_0yfurvp</incoming>
      <outgoing>Flow_06c497o</outgoing>
    </userTask>
    <sequenceFlow id="Flow_06c497o" name="提交完成" sourceRef="Activity_02hq39f" targetRef="Activity_1aymxw6" />
    <userTask id="Activity_1aymxw6" name="使用单位室级主管审批">
      <incoming>Flow_06c497o</incoming>
      <outgoing>Flow_07sm00g</outgoing>
      <outgoing>Flow_1y4h64d</outgoing>
    </userTask>
    <sequenceFlow id="Flow_07sm00g" name="通过" sourceRef="Activity_1aymxw6" targetRef="Activity_1abilq7">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfrimFlag == 1}</conditionExpression>
    </sequenceFlow>
    <userTask id="Activity_1abilq7" name="使用单位部级主管审批">
      <incoming>Flow_07sm00g</incoming>
      <outgoing>Flow_16q19a6</outgoing>
    </userTask>
    <endEvent id="Event_0w00roh">
      <incoming>Flow_16q19a6</incoming>
    </endEvent>
    <sequenceFlow id="Flow_16q19a6" name="通过或驳回" sourceRef="Activity_1abilq7" targetRef="Event_0w00roh" />
    <endEvent id="Event_057c1tu">
      <incoming>Flow_1y4h64d</incoming>
    </endEvent>
    <sequenceFlow id="Flow_1y4h64d" name="驳回" sourceRef="Activity_1aymxw6" targetRef="Event_057c1tu">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfrimFlag == 2}</conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_flow">
    <bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="technical_status_deactivate_process">
      <bpmndi:BPMNEdge id="Flow_1y4h64d_di" bpmnElement="Flow_1y4h64d">
        <di:waypoint x="310" y="340" />
        <di:waypoint x="372" y="340" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="330" y="322" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_16q19a6_di" bpmnElement="Flow_16q19a6">
        <di:waypoint x="260" y="520" />
        <di:waypoint x="260" y="592" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="192" y="554" width="56" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_07sm00g_di" bpmnElement="Flow_07sm00g">
        <di:waypoint x="260" y="380" />
        <di:waypoint x="260" y="440" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="228" y="407" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_06c497o_di" bpmnElement="Flow_06c497o">
        <di:waypoint x="260" y="240" />
        <di:waypoint x="260" y="300" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="207" y="266" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0yfurvp_di" bpmnElement="Flow_0yfurvp">
        <di:waypoint x="260" y="115" />
        <di:waypoint x="260" y="160" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="228" y="135" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke="">
        <omgdc:Bounds x="245" y="85" width="30" height="30" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="248" y="63" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0d1w8ij_di" bpmnElement="Activity_02hq39f">
        <omgdc:Bounds x="210" y="160" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1fbagra_di" bpmnElement="Activity_1aymxw6">
        <omgdc:Bounds x="210" y="300" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_144fdht_di" bpmnElement="Activity_1abilq7">
        <omgdc:Bounds x="210" y="440" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0w00roh_di" bpmnElement="Event_0w00roh">
        <omgdc:Bounds x="242" y="592" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_057c1tu_di" bpmnElement="Event_057c1tu">
        <omgdc:Bounds x="372" y="322" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
db/ZHR/process/¼¼Êõ״̬±ä¸üÉêÇëÁ÷³Ì.bpmn20.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
  <process id="technical_status_change_process" name="技术状态变更申请流程" flowable:processCategory="TECHNICAL_STATUS_CHANGE_PROCESS">
    <startEvent id="startNode1" name="开始">
      <outgoing>Flow_1a5561e</outgoing>
    </startEvent>
    <sequenceFlow id="Flow_1a5561e" sourceRef="startNode1" targetRef="Activity_0vjpbto" />
    <userTask id="Activity_0vjpbto" name="变更提交">
      <incoming>Flow_1a5561e</incoming>
      <outgoing>Flow_049516g</outgoing>
    </userTask>
    <sequenceFlow id="Flow_049516g" name="提交完成" sourceRef="Activity_0vjpbto" targetRef="Activity_13y6uei" />
    <userTask id="Activity_13y6uei" name="使用单位室级领导审核">
      <incoming>Flow_049516g</incoming>
      <outgoing>Flow_1p7phbk</outgoing>
      <outgoing>Flow_0kncgmv</outgoing>
    </userTask>
    <userTask id="Activity_00rff81" name="使用单位部级领导审核">
      <incoming>Flow_1p7phbk</incoming>
      <outgoing>Flow_09781az</outgoing>
    </userTask>
    <sequenceFlow id="Flow_1p7phbk" name="通过" sourceRef="Activity_13y6uei" targetRef="Activity_00rff81">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 1}</conditionExpression>
    </sequenceFlow>
    <endEvent id="Event_0jo3kio">
      <incoming>Flow_0kncgmv</incoming>
    </endEvent>
    <sequenceFlow id="Flow_0kncgmv" name="驳回" sourceRef="Activity_13y6uei" targetRef="Event_0jo3kio">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 2}</conditionExpression>
    </sequenceFlow>
    <endEvent id="Event_1nq08yu" name="">
      <incoming>Flow_09781az</incoming>
    </endEvent>
    <sequenceFlow id="Flow_09781az" name="通过或驳回" sourceRef="Activity_00rff81" targetRef="Event_1nq08yu" />
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_flow">
    <bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="technical_status_change_process">
      <bpmndi:BPMNEdge id="Flow_09781az_di" bpmnElement="Flow_09781az">
        <di:waypoint x="150" y="350" />
        <di:waypoint x="150" y="402" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="162" y="371" width="56" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0kncgmv_di" bpmnElement="Flow_0kncgmv">
        <di:waypoint x="200" y="170" />
        <di:waypoint x="292" y="170" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="228" y="152" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1p7phbk_di" bpmnElement="Flow_1p7phbk">
        <di:waypoint x="150" y="210" />
        <di:waypoint x="150" y="270" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="154" y="236" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_049516g_di" bpmnElement="Flow_049516g">
        <di:waypoint x="150" y="70" />
        <di:waypoint x="150" y="130" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="157" y="96" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1a5561e_di" bpmnElement="Flow_1a5561e">
        <di:waypoint x="150" y="-65" />
        <di:waypoint x="150" y="-10" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke="">
        <omgdc:Bounds x="135" y="-95" width="30" height="30" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="138" y="-117" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1kksbkh_di" bpmnElement="Activity_0vjpbto">
        <omgdc:Bounds x="100" y="-10" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1nkn08l_di" bpmnElement="Activity_13y6uei">
        <omgdc:Bounds x="100" y="130" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_018xpql_di" bpmnElement="Activity_00rff81">
        <omgdc:Bounds x="100" y="270" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0jo3kio_di" bpmnElement="Event_0jo3kio">
        <omgdc:Bounds x="292" y="152" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1nq08yu_di" bpmnElement="Event_1nq08yu">
        <omgdc:Bounds x="132" y="402" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="145" y="525" width="12" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
db/ZHR/process/¼¼Êõ״̬¼ø¶¨¹¤µ¥±ä¸üÁ÷³Ì.bpmn20.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
  <process id="evaluation_order_change_process" name="技术状态鉴定工单变更流程" flowable:processCategory="EVALUATION_ORDER_CHANGE_PROCESS">
    <startEvent id="startNode1" name="开始">
      <outgoing>Flow_1lrjfyh</outgoing>
    </startEvent>
    <userTask id="Activity_0xr313b" name="提交变更">
      <incoming>Flow_1lrjfyh</incoming>
      <outgoing>Flow_0rs715w</outgoing>
    </userTask>
    <sequenceFlow id="Flow_0rs715w" name="提交完成" sourceRef="Activity_0xr313b" targetRef="Activity_0o3p1rw" />
    <sequenceFlow id="Flow_1lrjfyh" name="" sourceRef="startNode1" targetRef="Activity_0xr313b" />
    <endEvent id="Event_1ljzz5l">
      <incoming>Flow_03s2kfi</incoming>
    </endEvent>
    <sequenceFlow id="Flow_03s2kfi" name="驳回" sourceRef="Activity_0o3p1rw" targetRef="Event_1ljzz5l">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 2 }</conditionExpression>
    </sequenceFlow>
    <userTask id="Activity_0o3p1rw" name="使用单位室级领导审核">
      <incoming>Flow_0rs715w</incoming>
      <outgoing>Flow_03s2kfi</outgoing>
      <outgoing>Flow_1bl4oj1</outgoing>
    </userTask>
    <endEvent id="Event_094wrnm">
      <incoming>Flow_0glq4rb</incoming>
    </endEvent>
    <userTask id="Activity_0e2mtnc" name="部门领导审核">
      <incoming>Flow_1bl4oj1</incoming>
      <outgoing>Flow_1rtxiqx</outgoing>
      <outgoing>Flow_0glq4rb</outgoing>
    </userTask>
    <sequenceFlow id="Flow_1bl4oj1" name="通过" sourceRef="Activity_0o3p1rw" targetRef="Activity_0e2mtnc">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 1 }</conditionExpression>
    </sequenceFlow>
    <userTask id="Activity_1ugagrs" name="生产保障部领导审核">
      <incoming>Flow_1rtxiqx</incoming>
      <outgoing>Flow_1qk08w9</outgoing>
    </userTask>
    <sequenceFlow id="Flow_1rtxiqx" name="通过" sourceRef="Activity_0e2mtnc" targetRef="Activity_1ugagrs">
      <conditionExpression xsi:type="tFormalExpression">${departLeaderConfirmFlag == 1}</conditionExpression>
    </sequenceFlow>
    <endEvent id="Event_1byavvu">
      <incoming>Flow_1qk08w9</incoming>
    </endEvent>
    <sequenceFlow id="Flow_1qk08w9" name="通过或驳回" sourceRef="Activity_1ugagrs" targetRef="Event_1byavvu" />
    <sequenceFlow id="Flow_0glq4rb" name="驳回" sourceRef="Activity_0e2mtnc" targetRef="Event_094wrnm">
      <conditionExpression xsi:type="tFormalExpression">${departLeaderConfirmFlag == 2}</conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_flow">
    <bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="evaluation_order_change_process">
      <bpmndi:BPMNEdge id="Flow_0glq4rb_di" bpmnElement="Flow_0glq4rb">
        <di:waypoint x="340" y="360" />
        <di:waypoint x="340" y="288" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="344" y="321" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1qk08w9_di" bpmnElement="Flow_1qk08w9">
        <di:waypoint x="570" y="400" />
        <di:waypoint x="662" y="400" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="582" y="382" width="56" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1rtxiqx_di" bpmnElement="Flow_1rtxiqx">
        <di:waypoint x="390" y="400" />
        <di:waypoint x="470" y="400" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="418" y="382" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1bl4oj1_di" bpmnElement="Flow_1bl4oj1">
        <di:waypoint x="220" y="400" />
        <di:waypoint x="290" y="400" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="244" y="382" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_03s2kfi_di" bpmnElement="Flow_03s2kfi">
        <di:waypoint x="170" y="440" />
        <di:waypoint x="170" y="492" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="174" y="463" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1lrjfyh_di" bpmnElement="Flow_1lrjfyh">
        <di:waypoint x="170" y="135" />
        <di:waypoint x="170" y="200" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="180" y="153" width="11" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0rs715w_di" bpmnElement="Flow_0rs715w">
        <di:waypoint x="170" y="280" />
        <di:waypoint x="170" y="360" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="117" y="317" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke="">
        <omgdc:Bounds x="155" y="105" width="30" height="30" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="158" y="81" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1f3p44a_di" bpmnElement="Activity_0xr313b">
        <omgdc:Bounds x="120" y="200" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1ljzz5l_di" bpmnElement="Event_1ljzz5l">
        <omgdc:Bounds x="152" y="492" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0vfhldg_di" bpmnElement="Activity_0o3p1rw">
        <omgdc:Bounds x="120" y="360" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_094wrnm_di" bpmnElement="Event_094wrnm">
        <omgdc:Bounds x="322" y="252" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1iibt8n_di" bpmnElement="Activity_0e2mtnc">
        <omgdc:Bounds x="290" y="360" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_17vz2zb_di" bpmnElement="Activity_1ugagrs">
        <omgdc:Bounds x="470" y="360" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1byavvu_di" bpmnElement="Event_1byavvu">
        <omgdc:Bounds x="662" y="382" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
db/ZHR/process/¼¼Êõ״̬¼ø¶¨Á÷³Ì.bpmn20.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,342 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
  <process id="technical_status_evaluation_process" name="技术状态鉴定流程" flowable:processCategory="TECHNICAL_STATUS_EVALUATION">
    <startEvent id="startNode1" name="开始">
      <outgoing>Flow_08kar5y</outgoing>
    </startEvent>
    <sequenceFlow id="Flow_08kar5y" name="领取" sourceRef="startNode1" targetRef="Activity_1nstx24" />
    <inclusiveGateway id="Gateway_0t8e1ct">
      <incoming>Flow_14ezqsp</incoming>
      <outgoing>Flow_1aeofia</outgoing>
      <outgoing>Flow_0qu8c97</outgoing>
      <outgoing>Flow_0j0xozz</outgoing>
    </inclusiveGateway>
    <sequenceFlow id="Flow_14ezqsp" name="分配候选人" sourceRef="Activity_1nstx24" targetRef="Gateway_0t8e1ct" />
    <sequenceFlow id="Flow_1aeofia" name="存在安全装置检查项" sourceRef="Gateway_0t8e1ct" targetRef="safety_equipment_check">
      <conditionExpression xsi:type="tFormalExpression">${hasSafetyEquipmentCheck == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_0qu8c97" name="存在设备精度检查项" sourceRef="Gateway_0t8e1ct" targetRef="equipment_precision_check">
      <conditionExpression xsi:type="tFormalExpression">${hasPrecisionCheck == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_0j0xozz" name="存在其他检查项" sourceRef="Gateway_0t8e1ct" targetRef="other_check">
      <conditionExpression xsi:type="tFormalExpression">${hasOtherCheck == 1}</conditionExpression>
    </sequenceFlow>
    <userTask id="Activity_1nstx24" name="工单领取">
      <incoming>Flow_08kar5y</incoming>
      <outgoing>Flow_14ezqsp</outgoing>
    </userTask>
    <userTask id="safety_equipment_check" name="安全装置检查">
      <incoming>Flow_1aeofia</incoming>
      <incoming>Flow_17a4vks</incoming>
      <outgoing>Flow_1b2jdti</outgoing>
    </userTask>
    <userTask id="equipment_precision_check" name="设备精度检查">
      <incoming>Flow_0qu8c97</incoming>
      <incoming>Flow_10sx1x8</incoming>
      <outgoing>Flow_0etgxyr</outgoing>
    </userTask>
    <userTask id="other_check" name="其他检查">
      <incoming>Flow_0j0xozz</incoming>
      <incoming>Flow_0qmhfoe</incoming>
      <outgoing>Flow_0x0nou7</outgoing>
    </userTask>
    <inclusiveGateway id="Gateway_05inlwj">
      <incoming>Flow_0ce2jd6</incoming>
      <incoming>Flow_1830g31</incoming>
      <incoming>Flow_14d65ly</incoming>
      <outgoing>Flow_0gawkvp</outgoing>
    </inclusiveGateway>
    <userTask id="Activity_0vx3umo" name="维修室主任签字">
      <incoming>Flow_1r37r0q</incoming>
      <outgoing>Flow_0l049xa</outgoing>
      <outgoing>Flow_0iqfkbu</outgoing>
    </userTask>
    <userTask id="Activity_1o9pk5t" name="工艺员签字">
      <incoming>Flow_0iqfkbu</incoming>
      <incoming>Flow_0iu1nap</incoming>
      <outgoing>Flow_1d2uh4m</outgoing>
    </userTask>
    <userTask id="Activity_1ebqzed" name="使用单位技术主管签字">
      <incoming>Flow_1d2uh4m</incoming>
      <outgoing>Flow_0k09keo</outgoing>
      <outgoing>Flow_0iu1nap</outgoing>
    </userTask>
    <userTask id="Activity_0yigfu5" name="设备检查员签字">
      <incoming>Flow_0k09keo</incoming>
      <outgoing>Flow_01nyfzi</outgoing>
    </userTask>
    <endEvent id="Event_1lkemxs">
      <incoming>Flow_01nyfzi</incoming>
    </endEvent>
    <sequenceFlow id="Flow_1b2jdti" name="检查完成" sourceRef="safety_equipment_check" targetRef="safety_equipment_check_confirm" />
    <sequenceFlow id="Flow_0etgxyr" name="检查完成" sourceRef="equipment_precision_check" targetRef="equipment_precision_check_confirm" />
    <sequenceFlow id="Flow_0x0nou7" name="检查完成" sourceRef="other_check" targetRef="other_check_confirm" />
    <userTask id="safety_equipment_check_confirm" name="维修室主任签字">
      <incoming>Flow_1b2jdti</incoming>
      <outgoing>Flow_0ce2jd6</outgoing>
      <outgoing>Flow_17a4vks</outgoing>
    </userTask>
    <userTask id="equipment_precision_check_confirm" name="维修室主任签字">
      <incoming>Flow_0etgxyr</incoming>
      <outgoing>Flow_1830g31</outgoing>
      <outgoing>Flow_10sx1x8</outgoing>
    </userTask>
    <userTask id="other_check_confirm" name="维修室主任签字">
      <incoming>Flow_0x0nou7</incoming>
      <outgoing>Flow_14d65ly</outgoing>
      <outgoing>Flow_0qmhfoe</outgoing>
    </userTask>
    <sequenceFlow id="Flow_0ce2jd6" name="通过" sourceRef="safety_equipment_check_confirm" targetRef="Gateway_05inlwj">
      <conditionExpression xsi:type="tFormalExpression">${safetyEquipmentCheckFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_1830g31" name="通过" sourceRef="equipment_precision_check_confirm" targetRef="Gateway_05inlwj">
      <conditionExpression xsi:type="tFormalExpression">${precisionCheckFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_14d65ly" name="通过" sourceRef="other_check_confirm" targetRef="Gateway_05inlwj">
      <conditionExpression xsi:type="tFormalExpression">${otherCheckFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_17a4vks" name="驳回" sourceRef="safety_equipment_check_confirm" targetRef="safety_equipment_check">
      <conditionExpression xsi:type="tFormalExpression">${safetyEquipmentCheckFlag == 2}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_10sx1x8" name="驳回" sourceRef="equipment_precision_check_confirm" targetRef="equipment_precision_check">
      <conditionExpression xsi:type="tFormalExpression">${precisionCheckFlag == 2}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_0qmhfoe" name="驳回" sourceRef="other_check_confirm" targetRef="other_check">
      <conditionExpression xsi:type="tFormalExpression">${otherCheckFlag == 2}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_0gawkvp" name="通过" sourceRef="Gateway_05inlwj" targetRef="Activity_0w2esvf" />
    <sequenceFlow id="Flow_1r37r0q" name="通过" sourceRef="Activity_0w2esvf" targetRef="Activity_0vx3umo" />
    <sequenceFlow id="Flow_0l049xa" name="驳回" sourceRef="Activity_0vx3umo" targetRef="Activity_0w2esvf">
      <conditionExpression xsi:type="tFormalExpression">${repairManagerApprovalFlag == 2}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_0iqfkbu" name="通过" sourceRef="Activity_0vx3umo" targetRef="Activity_1o9pk5t">
      <conditionExpression xsi:type="tFormalExpression">${repairManagerApprovalFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_1d2uh4m" name="通过" sourceRef="Activity_1o9pk5t" targetRef="Activity_1ebqzed" />
    <sequenceFlow id="Flow_0k09keo" name="通过" sourceRef="Activity_1ebqzed" targetRef="Activity_0yigfu5">
      <conditionExpression xsi:type="tFormalExpression">${technicalLeaderApprovalFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_01nyfzi" name="通过" sourceRef="Activity_0yigfu5" targetRef="Event_1lkemxs" />
    <sequenceFlow id="Flow_0iu1nap" name="驳回" sourceRef="Activity_1ebqzed" targetRef="Activity_1o9pk5t">
      <conditionExpression xsi:type="tFormalExpression">${technicalLeaderApprovalFlag == 2}</conditionExpression>
    </sequenceFlow>
    <userTask id="Activity_0w2esvf" name="维修人员签字">
      <incoming>Flow_0gawkvp</incoming>
      <incoming>Flow_0l049xa</incoming>
      <outgoing>Flow_1r37r0q</outgoing>
    </userTask>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_flow">
    <bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="technical_status_evaluation_process">
      <bpmndi:BPMNEdge id="Flow_0iu1nap_di" bpmnElement="Flow_0iu1nap">
        <di:waypoint x="730" y="400" />
        <di:waypoint x="800" y="400" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="756" y="403" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_01nyfzi_di" bpmnElement="Flow_01nyfzi">
        <di:waypoint x="460" y="380" />
        <di:waypoint x="378" y="380" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="408" y="362" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0k09keo_di" bpmnElement="Flow_0k09keo">
        <di:waypoint x="630" y="380" />
        <di:waypoint x="560" y="380" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="584" y="362" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1d2uh4m_di" bpmnElement="Flow_1d2uh4m">
        <di:waypoint x="800" y="360" />
        <di:waypoint x="730" y="360" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="754" y="342" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0iqfkbu_di" bpmnElement="Flow_0iqfkbu">
        <di:waypoint x="850" y="280" />
        <di:waypoint x="850" y="340" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="854" y="303" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0l049xa_di" bpmnElement="Flow_0l049xa">
        <di:waypoint x="880" y="200" />
        <di:waypoint x="880" y="140" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="888" y="167" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1r37r0q_di" bpmnElement="Flow_1r37r0q">
        <di:waypoint x="840" y="140" />
        <di:waypoint x="840" y="200" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="808" y="167" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0gawkvp_di" bpmnElement="Flow_0gawkvp">
        <di:waypoint x="735" y="100" />
        <di:waypoint x="800" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="756" y="82" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0qmhfoe_di" bpmnElement="Flow_0qmhfoe">
        <di:waypoint x="510" y="220" />
        <di:waypoint x="430" y="220" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="459" y="223" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_10sx1x8_di" bpmnElement="Flow_10sx1x8">
        <di:waypoint x="510" y="120" />
        <di:waypoint x="430" y="120" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="459" y="122" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_17a4vks_di" bpmnElement="Flow_17a4vks">
        <di:waypoint x="510" y="20" />
        <di:waypoint x="430" y="20" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="459" y="23" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_14d65ly_di" bpmnElement="Flow_14d65ly">
        <di:waypoint x="610" y="200" />
        <di:waypoint x="710" y="200" />
        <di:waypoint x="710" y="125" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="649" y="182" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1830g31_di" bpmnElement="Flow_1830g31">
        <di:waypoint x="610" y="100" />
        <di:waypoint x="685" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="636" y="82" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0ce2jd6_di" bpmnElement="Flow_0ce2jd6">
        <di:waypoint x="610" y="0" />
        <di:waypoint x="710" y="0" />
        <di:waypoint x="710" y="75" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="649" y="-18" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0x0nou7_di" bpmnElement="Flow_0x0nou7">
        <di:waypoint x="430" y="200" />
        <di:waypoint x="510" y="200" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="448" y="182" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0etgxyr_di" bpmnElement="Flow_0etgxyr">
        <di:waypoint x="430" y="100" />
        <di:waypoint x="510" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="448" y="82" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1b2jdti_di" bpmnElement="Flow_1b2jdti">
        <di:waypoint x="430" y="0" />
        <di:waypoint x="510" y="0" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="448" y="-18" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0j0xozz_di" bpmnElement="Flow_0j0xozz">
        <di:waypoint x="240" y="125" />
        <di:waypoint x="240" y="200" />
        <di:waypoint x="330" y="200" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="241" y="183" width="78" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0qu8c97_di" bpmnElement="Flow_0qu8c97">
        <di:waypoint x="265" y="100" />
        <di:waypoint x="330" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="251" y="66" width="78" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1aeofia_di" bpmnElement="Flow_1aeofia">
        <di:waypoint x="240" y="75" />
        <di:waypoint x="240" y="0" />
        <di:waypoint x="330" y="0" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="241" y="-34" width="78" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_14ezqsp_di" bpmnElement="Flow_14ezqsp">
        <di:waypoint x="120" y="100" />
        <di:waypoint x="215" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="140" y="82" width="56" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_08kar5y_di" bpmnElement="Flow_08kar5y">
        <di:waypoint x="-45" y="100" />
        <di:waypoint x="20" y="100" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="-24" y="82" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke="">
        <omgdc:Bounds x="-75" y="85" width="30" height="30" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="-73" y="122" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_0n5p3kz_di" bpmnElement="Gateway_0t8e1ct">
        <omgdc:Bounds x="215" y="75" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_15ga6fi_di" bpmnElement="Activity_1nstx24">
        <omgdc:Bounds x="20" y="60" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1axd1mf_di" bpmnElement="safety_equipment_check">
        <omgdc:Bounds x="330" y="-40" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_09f2psv_di" bpmnElement="equipment_precision_check">
        <omgdc:Bounds x="330" y="60" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0hka9ht_di" bpmnElement="other_check">
        <omgdc:Bounds x="330" y="160" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_1yf4krn_di" bpmnElement="Gateway_05inlwj">
        <omgdc:Bounds x="685" y="75" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0jqk7kf_di" bpmnElement="Activity_0vx3umo">
        <omgdc:Bounds x="800" y="200" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1utlj8v_di" bpmnElement="Activity_1o9pk5t">
        <omgdc:Bounds x="800" y="340" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_093o9g6_di" bpmnElement="Activity_1ebqzed">
        <omgdc:Bounds x="630" y="340" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1pq8o9r_di" bpmnElement="Activity_0yigfu5">
        <omgdc:Bounds x="460" y="340" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1lkemxs_di" bpmnElement="Event_1lkemxs">
        <omgdc:Bounds x="342" y="362" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_11446n6_di" bpmnElement="safety_equipment_check_confirm">
        <omgdc:Bounds x="510" y="-40" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1yeaht6_di" bpmnElement="equipment_precision_check_confirm">
        <omgdc:Bounds x="510" y="60" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_10ic56v_di" bpmnElement="other_check_confirm">
        <omgdc:Bounds x="510" y="160" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0o51wl1_di" bpmnElement="Activity_0w2esvf">
        <omgdc:Bounds x="800" y="60" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
db/ZHR/process/¼¼Êõ״̬¼ø¶¨ÉêÇëÁ÷³Ì.bpmn20.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
  <process id="technical_status_evaluation_apply_process" name="技术状态鉴定申请流程" flowable:processCategory="TECHNICAL_STATUS_EVALUATION_APPLY_PROCESS">
    <startEvent id="startNode1" name="开始">
      <outgoing>Flow_047mezk</outgoing>
    </startEvent>
    <sequenceFlow id="Flow_047mezk" name="提交" sourceRef="startNode1" targetRef="Activity_0phqw21" />
    <userTask id="Activity_0phqw21" name="申请提交">
      <incoming>Flow_047mezk</incoming>
      <outgoing>Flow_11nxzgi</outgoing>
    </userTask>
    <userTask id="Activity_1b9d829" name="申请单位室级领导审批">
      <incoming>Flow_11nxzgi</incoming>
      <outgoing>Flow_0b42mpn</outgoing>
      <outgoing>Flow_09iuey6</outgoing>
    </userTask>
    <sequenceFlow id="Flow_11nxzgi" name="提交完成" sourceRef="Activity_0phqw21" targetRef="Activity_1b9d829" />
    <sequenceFlow id="Flow_0b42mpn" name="通过" sourceRef="Activity_1b9d829" targetRef="Activity_0s463r9">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 1}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="Flow_1gcy86s" name="通过" sourceRef="Activity_0s463r9" targetRef="Activity_1c09htz">
      <conditionExpression xsi:type="tFormalExpression">${productionHeaderConfirmFlag == 1}</conditionExpression>
    </sequenceFlow>
    <endEvent id="Event_0d71i5o">
      <incoming>Flow_1q3g8eo</incoming>
    </endEvent>
    <userTask id="Activity_1c09htz" name="生产保障部领导审批">
      <incoming>Flow_1gcy86s</incoming>
      <outgoing>Flow_1q3g8eo</outgoing>
    </userTask>
    <userTask id="Activity_0s463r9" name="生产设备管理主管审批">
      <incoming>Flow_0b42mpn</incoming>
      <outgoing>Flow_1gcy86s</outgoing>
      <outgoing>Flow_1wzlz4a</outgoing>
    </userTask>
    <sequenceFlow id="Flow_1q3g8eo" name="通过或驳回" sourceRef="Activity_1c09htz" targetRef="Event_0d71i5o" />
    <endEvent id="Event_0qjd1ay">
      <incoming>Flow_1wzlz4a</incoming>
    </endEvent>
    <sequenceFlow id="Flow_1wzlz4a" name="驳回" sourceRef="Activity_0s463r9" targetRef="Event_0qjd1ay">
      <conditionExpression xsi:type="tFormalExpression">${productionHeaderConfirmFlag == 2}</conditionExpression>
    </sequenceFlow>
    <endEvent id="Event_14kz3sw">
      <incoming>Flow_09iuey6</incoming>
    </endEvent>
    <sequenceFlow id="Flow_09iuey6" name="驳回" sourceRef="Activity_1b9d829" targetRef="Event_14kz3sw">
      <conditionExpression xsi:type="tFormalExpression">${departHeaderConfirmFlag == 2}</conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_flow">
    <bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="technical_status_evaluation_apply_process">
      <bpmndi:BPMNEdge id="Flow_09iuey6_di" bpmnElement="Flow_09iuey6">
        <di:waypoint x="260" y="320" />
        <di:waypoint x="332" y="320" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="285" y="302" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1wzlz4a_di" bpmnElement="Flow_1wzlz4a">
        <di:waypoint x="260" y="460" />
        <di:waypoint x="332" y="460" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="285" y="442" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1q3g8eo_di" bpmnElement="Flow_1q3g8eo">
        <di:waypoint x="210" y="650" />
        <di:waypoint x="210" y="702" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="152" y="673" width="56" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1gcy86s_di" bpmnElement="Flow_1gcy86s">
        <di:waypoint x="210" y="500" />
        <di:waypoint x="210" y="570" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="178" y="532" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0b42mpn_di" bpmnElement="Flow_0b42mpn">
        <di:waypoint x="210" y="360" />
        <di:waypoint x="210" y="420" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="178" y="387" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_11nxzgi_di" bpmnElement="Flow_11nxzgi">
        <di:waypoint x="210" y="220" />
        <di:waypoint x="210" y="280" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="157" y="247" width="45" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_047mezk_di" bpmnElement="Flow_047mezk">
        <di:waypoint x="210" y="75" />
        <di:waypoint x="210" y="140" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="178" y="93" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke="">
        <omgdc:Bounds x="195" y="45" width="30" height="30" />
        <bpmndi:BPMNLabel>
          <omgdc:Bounds x="198" y="23" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0kpg64e_di" bpmnElement="Activity_0phqw21">
        <omgdc:Bounds x="160" y="140" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1xg7mgb_di" bpmnElement="Activity_1b9d829">
        <omgdc:Bounds x="160" y="280" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0d71i5o_di" bpmnElement="Event_0d71i5o">
        <omgdc:Bounds x="192" y="702" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1eozmdz_di" bpmnElement="Activity_1c09htz">
        <omgdc:Bounds x="160" y="570" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0cax4o1_di" bpmnElement="Activity_0s463r9">
        <omgdc:Bounds x="160" y="420" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0qjd1ay_di" bpmnElement="Event_0qjd1ay">
        <omgdc:Bounds x="332" y="442" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_14kz3sw_di" bpmnElement="Event_14kz3sw">
        <omgdc:Bounds x="332" y="302" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -35,7 +35,7 @@
    String TECHNICAL_STATUS_EVALUATION_ORDER_CHANGE_CODE_RULE = "TechnicalStatusEvaluationOrderChangeCodeRule";
    //技术状态变更编码规则
    String TECHNICAL_STATUS_CHANGE_CODE_RULE = "TechnicalStatusChangeCodeRule";
    //技术状态变更编码规则
    //技术状态鉴定申请编码规则
    String TECHNICAL_STATUS_EVALUATION_APPLY_CODE_RULE = "TechnicalStatusEvaluationApplyCodeRule";
    //停用加工设备申请编码规则
    String TECHNICAL_STATUS_DEACTIVATE_CODE_RULE = "TechnicalStatusDeactivateCodeRule";
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java
@@ -6,6 +6,7 @@
    WAIT_ADMIN_CONFIRM, //管理员确认
    WAIT_INSPECTOR_CONFIRM, // æ£€æŸ¥äººç¡®è®¤
    COMPLETE,  //已完成
    ABOLISH, //已作废
    ;
    public static SecondMaintenanceStatusEnum getInstance(String code) {
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java
@@ -46,4 +46,11 @@
     * @return
     */
    List<EamEquipment> queryList(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper);
    /**
     * èŽ·å–å¯ç”ŸæˆæŠ€æœ¯é‰´å®šå·¥å•çš„è®¾å¤‡åˆ—è¡¨
     * @return
     */
    List<EamEquipment> selectTechnicalEquipmentList(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper);
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -44,4 +44,18 @@
                 where del_flag = 0
        and factory_org_code =(select org_code from eam_base_factory where eam_base_factory.id=#{eamCenterId})
    </select>
    <select id="selectTechnicalEquipmentList" resultType="org.jeecg.modules.eam.entity.EamEquipment">
        select e.*,
               ext.latest_third_maintenance,
               ext.next_third_maintenance,
               ext.technology_status,
               ext.third_maintenance_period,
               ext.technology_check_period,
               ext.latest_technology_check,
               ext.next_technology_check
        from eam_equipment e
        left join eam_equipment_extend ext
        on e.id = ext.id
        ${ew.customSqlSegment}
    </select>
</mapper>
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java
@@ -1,5 +1,6 @@
package org.jeecg.modules.eam.request;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -23,7 +24,15 @@
    private static final long serialVersionUID = 7710893031748864058L;
    //列表展示
    @TableField(exist = false)
    private String equipmentCode;
    @TableField(exist = false)
    private String equipmentName;
    @TableField(exist = false)
    private String keyword;
    @TableField(exist = false)
    private String equipmentModel;
    private String column;
    private String order;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
@@ -27,6 +27,11 @@
    private String equipmentCode;
    /**
     * è®¾å¤‡åç§°
     */
    private String equipmentName;
    /**
     * å¼€å§‹æ—¶é—´
     */
    private String startTime;
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
@@ -72,4 +72,9 @@
     * @return
     */
    List<EamEquipment> exportList(EamEquipmentQuery eamEquipment);
    /**
     * èŽ·å–å¯ç”ŸæˆæŠ€æœ¯é‰´å®šå·¥å•çš„è®¾å¤‡åˆ—è¡¨
     */
    List<EamEquipment> selectTechnicalEquipmentList();
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -14,25 +14,22 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.tree.FindsEquipmentEamCenterUtil;
import org.jeecg.modules.system.entity.BaseFactory;
import org.jeecg.modules.system.entity.BaseFactoryUser;
import org.jeecg.modules.system.service.IBaseFactoryService;
import org.jeecg.modules.system.service.IBaseFactoryUserService;
import org.jeecg.modules.eam.constant.AssetStatusEnum;
import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
import org.jeecg.modules.eam.constant.EquipmentRepairStatus;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.entity.EamEquipment;
import org.jeecg.modules.eam.entity.EamEquipmentExtend;
import org.jeecg.modules.eam.mapper.EamEquipmentMapper;
import org.jeecg.modules.eam.request.EamEquipmentQuery;
import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.tree.FindsEquipmentEamCenterUtil;
import org.jeecg.modules.eam.tree.FindsEquipmentProductionUtil;
import org.jeecg.modules.eam.vo.EamEquipmentTree;
import org.jeecg.modules.eam.vo.EquipmentSearchResult;
import org.jeecg.modules.system.entity.BaseFactory;
import org.jeecg.modules.system.entity.BaseFactoryUser;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.service.IBaseFactoryService;
import org.jeecg.modules.system.service.IBaseFactoryUserService;
import org.jeecg.modules.system.service.IMdcProductionService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -407,6 +404,16 @@
        return eamEquipmentMapper.queryList(queryWrapper);
    }
    @Override
    public List<EamEquipment> selectTechnicalEquipmentList() {
        QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0);
        queryWrapper.ne("ext.technology_status", TechnologyStatusEnum.PROHIBITED.name());
        queryWrapper.isNotNull("ext.technology_check_period");
        queryWrapper.isNotNull("e.next_technology_check");
        return this.getBaseMapper().selectTechnicalEquipmentList(queryWrapper);
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„äº§çº¿id(包含所有上级)
     */
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
@@ -2,7 +2,9 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -21,11 +23,11 @@
import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService;
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -94,6 +96,119 @@
    }
    /**
     * æ‰¹é‡æ·»åŠ 
     * @param requests
     * @return
     */
    @AutoLog(value = "设备二级保养-批量添加")
    @ApiOperation(value = "设备二级保养-批量添加", notes = "设备二级保养-批量添加")
    @PostMapping(value = "/batchAdd")
    public Result<?> batchAdd(@RequestBody List<EamSecondMaintenanceRequest> requests) {
        if (CollectionUtils.isEmpty(requests)) {
            return Result.error("添加的对象列表不能为空!");
        }
        // è®°å½•成功/失败的条目
        List<String> successOrders = new ArrayList<>();
        List<Map<String, Object>> failedItems = new ArrayList<>();
        for (int i = 0; i < requests.size(); i++) {
            EamSecondMaintenanceRequest item = requests.get(i);
            try {
                // 1. å‚数校验
                if (item == null) {
                    failedItems.add(createErrorItem(i, "对象为空"));
                    continue;
                }
                if (StrUtil.isEmpty(item.getStandardId())) {
                    failedItems.add(createErrorItem(i, "保养项不能为空"));
                    continue;
                }
                // 2. ç”Ÿæˆç¼–码并设置属性
                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(
                        BusinessCodeConst.SECOND_MAINTENANCE_CODE_RULE);
                item.setOrderNum(codeSeq);
                item.setCreationMethod(OrderCreationMethodEnum.MANUAL.name());
                // 3. æ‰§è¡Œæ·»åŠ 
                if (eamSecondMaintenanceOrderService.addMaintenance(item)) {
                    successOrders.add(codeSeq);
                } else {
                    failedItems.add(createErrorItem(i, "服务添加失败"));
                }
            } catch (Exception e) {
                failedItems.add(createErrorItem(i, "系统异常: " + e.getMessage()));
            }
        }
        // 4. æž„造返回结果
        if (failedItems.isEmpty()) {
            return Result.OK("批量添加成功,共添加" + successOrders.size() + "条记录");
        } else {
            Map<String, Object> result = new HashMap<>();
            result.put("successCount", successOrders.size());
            result.put("failedCount", failedItems.size());
            result.put("failedDetails", failedItems);
            return Result.OK(
                    "部分添加失败(成功" + successOrders.size() + "条,失败" + failedItems.size() + "条)",
                    result
            );
        }
    }
    // åˆ›å»ºé”™è¯¯æ¡ç›®ä¿¡æ¯
    private Map<String, Object> createErrorItem(int index, String reason) {
        Map<String, Object> error = new HashMap<>();
        error.put("index", index);
        error.put("reason", reason);
        return error;
    }
    /**
     * åˆ›å»ºé”™è¯¯é¡¹è¯¦æƒ…
     * @param id å·¥å•ID
     * @param errorMessage é”™è¯¯ä¿¡æ¯
     * @param detail é”™è¯¯è¯¦æƒ…
     * @return é”™è¯¯è¯¦æƒ…Map
     */
    private Map<String, Object> createErrorItem(String id, String errorMessage, Object detail) {
        Map<String, Object> errorItem = new HashMap<>();
        errorItem.put("id", id);
        errorItem.put("error", errorMessage);
        if (detail != null) {
            errorItem.put("detail", detail);
        }
        return errorItem;
    }
    /**
     * æž„建批量操作返回结果
     * @param successCount æˆåŠŸæ•°é‡
     * @param failedDetails å¤±è´¥è¯¦æƒ…列表
     * @param actionName æ“ä½œåç§°ï¼ˆ"作废"或"还原")
     * @return ç»Ÿä¸€æ ¼å¼çš„返回结果
     */
    private Result<?> buildBatchResult(int successCount,
                                       List<Map<String, Object>> failedDetails,
                                       List<String> successIds,
                                       String actionName) {
        Map<String, Object> resultMap = new HashMap<>();
        resultMap.put("successCount", successCount);
        resultMap.put("failedCount", failedDetails.size());
        resultMap.put("successIds", successIds);
        resultMap.put("failedDetails", failedDetails);
        if (failedDetails.isEmpty()) {
            return Result.OK("批量" + actionName + "成功,共" + actionName + " " + successCount + " æ¡å·¥å•!"+resultMap);
        } else {
            return Result.OK("批量" + actionName + "部分成功(成功" + successCount + "条,失败" + failedDetails.size() + "条)"+resultMap.get("failedDetails"));
        }
    }
    /**
     * ç¼–辑
     *
     * @param request
@@ -131,6 +246,167 @@
    }
    /**
     * é€šè¿‡id作废
     *
     * @param id
     * @return
     */
    @AutoLog(value = "设备二级保养-作废")
    @ApiOperation(value = "设备二级保养-作废", notes = "设备二级保养-作废")
    @DeleteMapping(value = "/abolish")
    public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
        EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
        if (entity == null) {
            return Result.error("要作废的数据不存在,请刷新重试!");
        }
        if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
            return Result.error("该状态的数据不允许进行作废!");
        }
        entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name());
        eamSecondMaintenanceOrderService.updateById(entity);
        return Result.OK("作废成功!");
    }
    @AutoLog(value = "周保工单-批量作废")
    @ApiOperation(value = "周保工单-批量作废", notes = "周保工单-批量作废")
    @DeleteMapping(value = "/abolishBatch")
    public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        // è®°å½•操作结果
        int successCount = 0;
        List<Map<String, Object>> failedDetails = new ArrayList<>();
        List<String> successIds = new ArrayList<>();
        for (String id : list) {
            try {
                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
                if (entity == null) {
                    // è®°å½•工单不存在
                    failedDetails.add(createErrorItem(id, "工单不存在", null));
                    continue;
                }
                if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
                    // è®°å½•状态不符合要求
                    failedDetails.add(createErrorItem(id, "工单状态不满足作废要求", entity.getMaintenanceStatus()));
                    continue;
                }
                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name());
                boolean updateResult = eamSecondMaintenanceOrderService.updateById(entity);
                if (updateResult) {
                    successCount++;
                    successIds.add(id);
                } else {
                    // è®°å½•更新失败
                    failedDetails.add(createErrorItem(id, "更新操作执行失败", entity.getMaintenanceStatus()));
                }
            } catch (Exception e) {
                // è®°å½•系统异常
                failedDetails.add(createErrorItem(id, "系统异常: " + e.getMessage(), null));
            }
        }
        // æž„造返回结果
        return buildBatchResult(successCount, failedDetails, successIds, "作废");
    }
    /**
     * è¿˜åŽŸä½œåºŸå·¥å•
     * @param id
     * @return
     */
    @AutoLog(value = "设备二级保养-还原作废工单")
    @ApiOperation(value = "设备二级保养-还原作废工单", notes = "设备二级保养-还原作废工单")
    @GetMapping(value = "/restore")
    public Result<?> restore(@RequestParam(name = "id", required = true) String id) {
        EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
        if (entity == null) {
            return Result.error("要还原的作废数据不存在,请刷新重试!");
        }
        if (!SecondMaintenanceStatusEnum.ABOLISH.name().equals(entity.getMaintenanceStatus())) {
            return Result.error("该状态的数据不允许进行还原!");
        }
        //查询当前设备和保养规范id是否有值
        List<EamSecondMaintenanceOrder> eamSecondMaintenanceOrderList=eamSecondMaintenanceOrderService
                .list(new QueryWrapper<EamSecondMaintenanceOrder>().eq("equipment_id",entity.getEquipmentId())
                        .eq("standard_id",entity.getStandardId())
                        .ne("maintenance_status",SecondMaintenanceStatusEnum.ABOLISH.name()));
        if(!eamSecondMaintenanceOrderList.isEmpty()){
            return Result.error("该设备已存在对应二保工单,不允许还原!");
        }
        entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
        eamSecondMaintenanceOrderService.updateById(entity);
        return Result.OK("还原成功!");
    }
    /**
     * æ‰¹é‡è¿˜åŽŸä½œåºŸå·¥å•
     * @param ids
     * @return
     */
    @AutoLog(value = "设备二级保养-批量还原作废工单")
    @ApiOperation(value = "设备二级保养-批量还原作废工单", notes = "设备二级保养-批量还原作废工单")
    @DeleteMapping(value = "/restoreBatch")
    public Result<?> restoreBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        // è®°å½•操作结果
        int successCount = 0;
        List<Map<String, Object>> failedDetails = new ArrayList<>();
        List<String> successIds = new ArrayList<>();
        for (String id : list) {
            try {
                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
                if (entity == null) {
                    // è®°å½•工单不存在
                    failedDetails.add(createErrorItem(id, "工单不存在", null));
                    continue;
                }
                if (!SecondMaintenanceStatusEnum.ABOLISH.name().equals(entity.getMaintenanceStatus())) {
                    // è®°å½•状态不是已作废
                    failedDetails.add(createErrorItem(id, "工单状态不是已作废", entity.getMaintenanceStatus()));
                    continue;
                }
                // æŸ¥è¯¢å½“前设备和保养规范是否存在非作废状态的工单
                List<EamSecondMaintenanceOrder> existingOrders = eamSecondMaintenanceOrderService
                        .list(new QueryWrapper<EamSecondMaintenanceOrder>()
                                .eq("equipment_id", entity.getEquipmentId())
                                .eq("standard_id", entity.getStandardId())
                                .ne("maintenance_status", SecondMaintenanceStatusEnum.ABOLISH.name()));
                if (CollectionUtils.isNotEmpty(existingOrders)) {
                    // è®°å½•存在非作废状态的工单
                    failedDetails.add(createErrorItem(id, "该设备和保养规范已存在非作废状态的工单", existingOrders.size()));
                    continue;
                }
                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
                boolean updateResult = eamSecondMaintenanceOrderService.updateById(entity);
                if (updateResult) {
                    successCount++;
                    successIds.add(id);
                } else {
                    // è®°å½•更新失败
                    failedDetails.add(createErrorItem(id, "更新操作执行失败", entity.getMaintenanceStatus()));
                }
            } catch (Exception e) {
                // è®°å½•系统异常
                failedDetails.add(createErrorItem(id, "系统异常: " + e.getMessage(), null));
            }
        }
        // æž„造返回结果
        return buildBatchResult(successCount, failedDetails, successIds, "还原");
    }
    /**
     * é€šè¿‡id领取
     *
     * @param id
@@ -153,22 +429,50 @@
     * @param ids
     * @return
     */
    @AutoLog(value = "周保工单-批量领取")
    @ApiOperation(value = "周保工单-批量领取", notes = "周保工单-批量领取")
    @AutoLog(value = "设备二级保养-批量领取")
    @ApiOperation(value = "设备二级保养-批量领取", notes = "设备二级保养-批量领取")
    @DeleteMapping(value = "/collectBatch")
    public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        AtomicInteger i = new AtomicInteger();
        list.forEach(id -> {
            EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
            if (entity != null && SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
                boolean b = eamSecondMaintenanceOrderService.collect(id);
                if (b) {
                    i.getAndIncrement();
        // è®°å½•操作结果
        int successCount = 0;
        List<Map<String, Object>> failedDetails = new ArrayList<>();
        List<String> successIds = new ArrayList<>();
        for (String id : list) {
            try {
                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
                if (entity == null) {
                    // è®°å½•工单不存在
                    failedDetails.add(createErrorItem(id, "工单不存在", null));
                    continue;
                }
                // çŠ¶æ€æ ¡éªŒ
                if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
                    failedDetails.add(createErrorItem(id,
                            "工单当前状态不满足领取条件",
                            entity.getMaintenanceStatus()));
                    continue;
                }
                // æ‰§è¡Œé¢†å–操作
                boolean collectResult = eamSecondMaintenanceOrderService.collect(id);
                if (collectResult) {
                    successCount++;
                    successIds.add(id);
                } else {
                    failedDetails.add(createErrorItem(id, "领取操作执行失败", null));
                }
            } catch (Exception e) {
                failedDetails.add(createErrorItem(id, "系统异常: " + e.getMessage(), null));
            }
        });
        return Result.OK("批量领取成功 " + i.get() + " æ¡å·¥å•!");
        }
        // æž„造返回结果(使用与批量作废/还原相同的方法)
        return buildBatchResult(successCount, failedDetails, successIds, "领取");
    }
    /**
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java
@@ -11,7 +11,6 @@
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.eam.constant.TechnicalStatusChangeOrderStatusEnum;
import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderChangeStatusEnum;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChange;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest;
@@ -113,7 +112,7 @@
         if (entity == null) {
             return Result.error("要作废的数据不存在,请刷新重试!");
         }
         if (!TechnicalStatusEvaluationOrderChangeStatusEnum.WAIT_SUBMIT.name().equals(entity.getChangeStatus())) {
         if (!TechnicalStatusChangeOrderStatusEnum.WAIT_SUBMIT.name().equals(entity.getChangeStatus())) {
             return Result.error("该状态的数据不允许进行作废!");
         }
         entity.setChangeStatus(TechnicalStatusChangeOrderStatusEnum.ABOLISH.name());
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderChangeController.java
@@ -1,14 +1,19 @@
package org.jeecg.modules.eam.controller;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderChangeStatusEnum;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrderChange;
import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderChangeQuery;
@@ -32,6 +37,10 @@
public class EamTechnicalStatusEvaluationOrderChangeController extends JeecgController<EamTechnicalStatusEvaluationOrderChange, IEamTechnicalStatusEvaluationOrderChangeService> {
    @Autowired
    private IEamTechnicalStatusEvaluationOrderChangeService eamTechnicalStatusEvaluationOrderChangeService;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    /**
     * åˆ†é¡µåˆ—表查询
@@ -68,9 +77,9 @@
        }
        boolean b = eamTechnicalStatusEvaluationOrderChangeService.addTechnicalStatusEvaluationOrderChange(request);
        if (!b) {
            return Result.error("添加失败!");
            return Result.error("变更失败!");
        }
        return Result.OK("添加成功!");
        return Result.OK("变更成功!");
    }
    /**
@@ -148,8 +157,21 @@
    @ApiOperation(value = "技术状态鉴定工单变更-通过id查询", notes = "技术状态鉴定工单变更-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        EamTechnicalStatusEvaluationOrderChange eamTechnicalStatusEvaluationOrderChange = eamTechnicalStatusEvaluationOrderChangeService.getById(id);
        return Result.OK(eamTechnicalStatusEvaluationOrderChange);
        EamTechnicalStatusEvaluationOrderChange entity = eamTechnicalStatusEvaluationOrderChangeService.getById(id);
        if (entity == null) {
            return Result.error("未找到对应数据");
        }
        try {
            String json = objectMapper.writeValueAsString(entity);
            JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
            translateDictTextUtils.translateField("orderId", entity.getOrderId(), item, "eam_technical_status_evaluation_order,order_num,id");
            translateDictTextUtils.translateField("applicant", entity.getApplicant(), item, "sys_user,realname,username");
            translateDictTextUtils.translateField("factoryOrgCode", entity.getFactoryOrgCode(), item, "eam_base_factory,factory_name,org_code");
            translateDictTextUtils.translateField("applyReason", entity.getApplyReason(), item, "technical_status_evaluation_order_change_reason");
            return Result.OK(item);
        } catch (JsonProcessingException e) {
            return Result.error("数据转译失败!");
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChange.java
@@ -3,11 +3,14 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -48,39 +51,52 @@
    private String changeOrderNum;
    /**变更单状态*/
    @ApiModelProperty(value = "变更单状态")
    @Dict(dicCode = "technical_status_change_order_status")
    private String changeStatus;
    /**申请单位*/
    @ApiModelProperty(value = "申请单位")
    @Dict(dictTable = "eam_base_factory", dicText = "factory_name", dicCode = "org_code")
    private String factoryOrgCode;
    /**编制人*/
    @ApiModelProperty(value = "编制人")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private String designer;
    /**编制时间*/
    @ApiModelProperty(value = "编制时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date designerTime;
    /**使用单位室主管签字*/
    @ApiModelProperty(value = "使用单位室主管签字")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private String departHeaderSignature;
    /**使用单位室主管签字时间*/
    @ApiModelProperty(value = "使用单位室主管签字时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date departHeaderSignatureTime;
    /**使用单位室主管签字结果*/
    @ApiModelProperty(value = "使用单位室主管签字结果")
    @Dict(dicCode = "approve_reject")
    private String departHeaderSignatureResult;
    /**使用单位室主管意见*/
    @ApiModelProperty(value = "使用单位室主管意见")
    private String departHeaderComment;
    /**使用单位部主管签字*/
    @ApiModelProperty(value = "使用单位部主管签字")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private String departLeaderSignature;
    /**使用单位部主管签字时间*/
    @ApiModelProperty(value = "使用单位部主管签字时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date departLeaderSignatureTime;
    /**使用单位部主管签字结果*/
    @ApiModelProperty(value = "使用单位部主管签字结果")
    @Dict(dicCode = "approve_reject")
    private String departLeaderSignatureResult;
    /**使用单位部主管签字*/
    @ApiModelProperty(value = "使用单位部主管签字")
    /**使用单位部主管意见*/
    @ApiModelProperty(value = "使用单位部主管意见")
    private String departLeaderComment;
    /**HF编码*/
    @ApiModelProperty(value = "HF编码")
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChangeDetail.java
@@ -4,11 +4,13 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -52,6 +54,8 @@
    private String changeCategory;
    /**变更日期*/
    @ApiModelProperty(value = "变更日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date changeDate;
    /**变更后技术状态;变更通过后默认设备技术状态改为禁用*/
    @ApiModelProperty(value = "变更后技术状态;变更通过后默认设备技术状态改为禁用")
@@ -65,9 +69,6 @@
    /**验收检查结果;大修、改造 éœ€è¦å¡«å†™éªŒæ”¶ç»“果,搬迁按照技术状态鉴定工单维护,其他暂未使用到,只预留此类型*/
    @ApiModelProperty(value = "验收检查结果;大修、改造 éœ€è¦å¡«å†™éªŒæ”¶ç»“果,搬迁按照技术状态鉴定工单维护,其他暂未使用到,只预留此类型")
    private String acceptanceCheckResult;
    /**技术状态鉴定工单ID;搬迁使用*/
    @ApiModelProperty(value = "技术状态鉴定工单ID;搬迁使用")
    private String orderId;
    //列表展示
    @TableField(exist = false)
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderChange.java
@@ -93,7 +93,7 @@
    private Date equipmentManagerSignatureTime;
    /**主管领导签字结果*/
    @ApiModelProperty(value = "主管领导签字结果")
    @Dict(dicCode = "approved_rejected")
    @Dict(dicCode = "approve_reject")
    private String equipmentManagerSignatureResult;
    /**主管领导意见*/
    @ApiModelProperty(value = "主管领导意见")
@@ -109,7 +109,7 @@
    private Date departManagerSignatureTime;
    /**部门领导签字结果*/
    @ApiModelProperty(value = "部门领导签字结果")
    @Dict(dicCode = "approved_rejected")
    @Dict(dicCode = "approve_reject")
    private String departManagerSignatureResult;
    /**部门领导意见*/
    @ApiModelProperty(value = "部门领导意见")
@@ -125,7 +125,7 @@
    private Date productionSupportSignatureTime;
    /**生产保障部领导签字结果*/
    @ApiModelProperty(value = "生产保障部领导签字结果")
    @Dict(dicCode = "approved_rejected")
    @Dict(dicCode = "approve_reject")
    private String productionSupportSignatureResult;
    /**生产保障部领导意见*/
    @ApiModelProperty(value = "生产保障部领导意见")
@@ -133,6 +133,9 @@
    /**HF编码*/
    @ApiModelProperty(value = "HF编码")
    private String hfCode;
    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remark;
    @TableField(exist = false)
    private String equipmentCode;
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/InspectionOrderGenerateJob.java
@@ -1,11 +1,13 @@
package org.jeecg.modules.eam.job;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.entity.EamInspectionOrder;
import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
@@ -85,13 +87,20 @@
                    standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1)));
                }
                LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate());
                //加周期
                do {
                    //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
                    generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
                } while (now.isAfter(generateDate));
                if (!now.isEqual(generateDate)) {
                    //还未到生成日期,跳过执行
                if (!generateDate.equals(now)) {
                    //加周期
                    do {
                        //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
                        generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
                    } while (now.isAfter(generateDate));
                    if (!now.isEqual(generateDate)) {
                        //还未到生成日期,跳过执行
                        continue;
                    }
                }
                //校验生成日期是否已有工单
                List<EamInspectionOrder> list = eamInspectionOrderService.list(new LambdaQueryWrapper<EamInspectionOrder>().eq(EamInspectionOrder::getEquipmentId, standard.getEquipmentId()).eq(EamInspectionOrder::getInspectionDate, DateUtils.localDateToDate(generateDate)));
                if (!CollectionUtil.isEmpty(list)) {
                    continue;
                }
                //获取保养项明细
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationExpiredJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
package org.jeecg.modules.eam.job;
public class TechnicalStatusEvaluationExpiredJob {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationGenerateJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package org.jeecg.modules.eam.job;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardDetailService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService;
import org.jeecg.modules.system.service.ISysParamsService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@Component
@Slf4j
public class TechnicalStatusEvaluationGenerateJob implements Job {
    @Autowired
    private IEamEquipmentService equipmentService;
    @Autowired
    private IEamEquipmentExtendService equipmentExtendService;
    @Autowired
    private IEamTechnicalStatusEvaluationStandardService evaluationStandardService;
    @Autowired
    private IEamTechnicalStatusEvaluationStandardDetailService evaluationStandardDetailService;
    @Autowired
    private ISysParamsService paramsService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //获取设备列表
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
package org.jeecg.modules.eam.job;
public class TechnicalStatusEvaluationLockedJob {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationOrderChangeRequest.java
@@ -1,11 +1,13 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.flowable.domain.vo.FlowTaskVo;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@@ -29,6 +31,8 @@
    private String applyReason;
    /**变更鉴定日期*/
    @ApiModelProperty(value = "变更鉴定日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date deferredEvaluationDate;
    /**主管领导签字结果*/
    @ApiModelProperty(value = "主管领导签字结果")
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -683,9 +683,9 @@
            updateEamInspectionOrder(eamInspectionOrder);
            //查询数据,进行设备维修处理
            if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.WAIT_CONFIRM.name())) {
                updateEamInspectionOrderDetail(eamInspectionOrder);
            }
//            if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.WAIT_CONFIRM.name())) {
//                updateEamInspectionOrderDetail(eamInspectionOrder);
//            }
            return eamInspectionOrder;
        } catch (Exception e) {
@@ -754,13 +754,14 @@
            values.put("organization", request.getConfirmComment());
            values.put("comment", request.getConfirmComment());
            values.put("confirmation", request.getConfirmDealType());
            request.setComment(request.getConfirmComment());
            request.setComment("维修工确认结束");
            if ("2".equals(request.getConfirmDealType())) {
                // ç»´ä¿®å·¥é©³å›ž
                List<String> usernames = new ArrayList<>();
                usernames.add(order.getOperator());
                order.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
                values.put("NextAssignee", usernames);
                request.setComment("维修工驳回结束");
            }
        }
        request.setValues(values);
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -183,7 +183,7 @@
        //删除标记
        entity.setDelFlag(CommonConstant.DEL_FLAG_0);
        //重复性校验
        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
        if (exist != null) {
            throw new JeecgBootException("设备标准已存在,不能重复添加!");
        }
@@ -259,7 +259,7 @@
        //删除标记
        newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
        //重复性校验
        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
        if (exist != null) {
            throw new JeecgBootException("设备标准已存在,不能重复添加!");
        }
@@ -285,7 +285,7 @@
        queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);
        queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
        queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, standardStatus);
        queryWrapper.ne(EamMaintenanceStandard::getStandardStatus, standardStatus);
        queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion);
        List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper);
@@ -382,6 +382,7 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo) {
        try {
            // å‚数校验
@@ -562,7 +563,7 @@
            // æ£€æŸ¥é‡å¤
            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(),
                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
            if (exist != null) {
                return Result.error(name + ": è®¾å¤‡æ ‡å‡†å·²å­˜åœ¨ï¼Œä¸èƒ½é‡å¤æ·»åŠ ");
            }
@@ -1125,7 +1126,7 @@
                    // é…ç½®ç±»åž‹ç›¸å…³å‚æ•°
                    configureStandard(standard, type, file);
                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
                    if (exist != null) {
                        return Result.error(fileName + ": è®¾å¤‡æ ‡å‡†å·²å­˜åœ¨ï¼Œä¸èƒ½é‡å¤æ·»åŠ ");
                    }
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -183,6 +183,7 @@
            eamMaintenanceStandardDetailList.forEach(item -> {
                EamSecondMaintenanceOrderDetail detail = new EamSecondMaintenanceOrderDetail();
                BeanUtils.copyProperties(item, detail);
                detail.setId(null);
                detail.setOrderId(order.getId());
                requestTableDetailList.add(detail);
            });
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderChangeServiceImpl.java
@@ -197,6 +197,7 @@
        }
        entity.setApplyReason(request.getApplyReason());
        entity.setDeferredEvaluationDate(request.getDeferredEvaluationDate());
        entity.setRemark(request.getRemark());
        this.getBaseMapper().updateById(entity);
        return true;
    }
@@ -390,6 +391,7 @@
                entity.setDepartManagerSignatureTime(new Date());
                entity.setDepartManagerSignatureResult(request.getDepartManagerSignatureResult());
                entity.setDepartManagerComment(request.getDepartManagerComment());
                values.put("departLeaderConfirmFlag", request.getEquipmentManagerSignatureResult());
                if(BusinessCodeConst.APPROVED.equals(request.getDepartManagerSignatureResult())) {
                    //通过
                    entity.setChangeStatus(TechnicalStatusEvaluationOrderChangeStatusEnum.PRODUCTION_SUPPORT_SIGNING.name());
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -573,10 +573,10 @@
    @Transactional(rollbackFor = Exception.class)
    public boolean updateEvaluationStatus(String orderId, String evaluationStatus) {
        UpdateWrapper<EamTechnicalStatusEvaluationOrder> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("order_id", orderId);
        updateWrapper.eq("id", orderId);
        updateWrapper.set("evaluation_status", evaluationStatus);
        updateWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
        updateWrapper.eq("evaluation_status", TechnicalStatusEvaluationOrderStatusEnum.WAIT_EVALUATION.name());
        updateWrapper.in("evaluation_status", Arrays.asList(TechnicalStatusEvaluationOrderStatusEnum.WAIT_EVALUATION.name(), TechnicalStatusEvaluationOrderStatusEnum.LOCKED.name()));
        int update = this.getBaseMapper().update(null, updateWrapper);
        return update > 0;
    }