zhangherong
2025-07-11 685bc509fbd7bec9623429af0b5e548f550f27d7
Merge remote-tracking branch 'origin/master'
已重命名1个文件
已添加25个文件
已修改10个文件
已删除2个文件
3993 ■■■■ 文件已修改
db/LS/dict_ls.sql 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/eam_inspection_order.sql 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/eam_inspection_order_detail.sql 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/eam_week_inspection_detail.sql 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/sys_business_code_rule.sql 843 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/sys_position.sql 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnologyStatusEnum.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrderDetail.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderExpiredJob.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceChangeMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceSpareMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceChangeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceSpareMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSecondMaintenanceRequest.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceChangeService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceSpareService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java 494 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java 287 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceSpareServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/rule/WorkShopOrgCodeProRule.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/LS/dict_ls.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
--点检工单状态
delete from [dbo].[sys_dict] where dict_code='inspection_status';
delete from [dbo].[sys_dict_item] where dict_id in (select id from [dbo].[sys_dict] where dict_code='inspection_status');
INSERT INTO [dbo].[sys_dict] ([id], [dict_name], [dict_code], [description], [del_flag], [create_by], [create_time], [update_by], [update_time], [type]) VALUES (N'1907309268858290177', N'点检状态', N'inspection_status', N'设备管理-点检状态', 0, N'admin', '2025-04-02 13:49:00.0000000', N'admin', '2025-04-02 13:49:19.6510000', NULL);
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1907309380946870273', N'1907309268858290177', N'待点检', N'WAIT_INSPECTION', '', 1, 1, N'admin', '2025-04-02 13:49:27.0000000', N'admin', '2025-05-07 10:11:47.5670000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1907309408746717185', N'1907309268858290177', N'待确认', N'WAIT_CONFIRM', '', 3, 1, N'admin', '2025-04-02 13:49:33.0000000', N'admin', '2025-05-07 10:12:06.4320000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1907309436466872322', N'1907309268858290177', N'已完成', N'COMPLETE', '', 4, 1, N'admin', '2025-04-02 13:49:40.0000000', N'admin', '2025-05-07 10:12:19.2070000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1909417976002236418', N'1907309268858290177', N'点检中', N'UNDER_INSPECTION', '', 2, 1, N'admin', '2025-04-08 09:28:15.0000000', N'admin', '2025-05-07 10:11:56.7550000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1909419871794089986', N'1907309268858290177', N'已作废', N'ABOLISH', '', 5, 1, N'admin', '2025-04-08 09:35:47.0000000', N'admin', '2025-05-07 10:12:33.1970000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1919938438058639361', N'1907309268858290177', N'已过期', N'EXPIRED', '', 6, 1, N'admin', '2025-05-07 10:12:49.0210000', NULL, NULL);
--点检结果状态
delete from [dbo].[sys_dict] where dict_code='inspection_project_result';
delete from [dbo].[sys_dict_item] where dict_id in (select id from [dbo].[sys_dict] where dict_code='inspection_project_result');
INSERT INTO [dbo].[sys_dict] ([id], [dict_name], [dict_code], [description], [del_flag], [create_by], [create_time], [update_by], [update_time], [type]) VALUES (N'1745288324644782081', N'点检结果', N'inspection_project_result', '', 0, N'admin', '2024-01-11 11:35:37.1360000', NULL, NULL, NULL);
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1745288369645469697', N'1745288324644782081', N'正常', N'NORMAL', '', 1, 1, N'admin', '2024-01-11 11:35:47.0000000', N'admin', '2025-07-08 15:31:49.8100000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1745288400943366146', N'1745288324644782081', N'异常', N'ANOMALY', '', 1, 1, N'admin', '2024-01-11 11:35:55.0000000', N'admin', '2025-07-08 15:29:58.8960000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1745288434866896897', N'1745288324644782081', N'故障停机', N'FAULT', '', 2, 1, N'admin', '2024-01-11 11:36:03.0000000', N'admin', '2025-07-08 15:30:07.6710000');
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1745288466827493377', N'1745288324644782081', N'没开机', N'CLOSE', '', 3, 1, N'admin', '2024-01-11 11:36:11.0000000', N'admin', '2025-07-08 15:30:16.7710000');
--维修部门班组编码规则
delete from [dbo].[sys_fill_rule] where rule_code='org_repair_deport_rule';
INSERT INTO [dbo].[sys_fill_rule] ([id], [rule_name], [rule_code], [rule_class], [rule_params], [update_by], [update_time], [create_by], [create_time]) VALUES (N'1676142178556973058', N'维修部门班组编码生成', N'org_repair_deport_rule', N'org.jeecg.modules.system.rule.OrgCodeRepDepRule', N'{"parentId":""}', N'admin', '2025-07-03 11:27:21.0000000', NULL, NULL);
db/LS/eam_inspection_order.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,215 @@
/*
 Navicat Premium Dump SQL
 Source Server         : localhost-sqlserver
 Source Server Type    : SQL Server
 Source Server Version : 11003000 (11.00.3000)
 Source Host           : localhost:1433
 Source Catalog        : LXZN_TEST_430_NEW
 Source Schema         : dbo
 Target Server Type    : SQL Server
 Target Server Version : 11003000 (11.00.3000)
 File Encoding         : 65001
 Date: 11/07/2025 10:50:26
*/
-- ----------------------------
-- Table structure for eam_inspection_order
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[eam_inspection_order]') AND type IN ('U'))
    DROP TABLE [dbo].[eam_inspection_order]
GO
CREATE TABLE [dbo].[eam_inspection_order] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [order_num] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [equipment_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [standard_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [inspection_date] datetime2(7)  NULL,
  [operate_time] datetime2(7)  NULL,
  [operator] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [expiration_time] datetime2(7)  NULL,
  [creation_method] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [inspection_status] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [confirm_user] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [confirm_deal_type] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [confirm_comment] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [confirm_time] datetime2(7)  NULL,
  [remark] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [del_flag] int  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,
  [hf_code] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL
)
GO
ALTER TABLE [dbo].[eam_inspection_order] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'工单号',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'order_num'
GO
EXEC sp_addextendedproperty
'MS_Description', N'设备ID',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'equipment_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'标准ID',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'standard_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检日期',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'inspection_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'operate_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'operator'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检过期时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'expiration_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建方式',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'creation_method'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检状态',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'inspection_status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'维修工确认人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'confirm_user'
GO
EXEC sp_addextendedproperty
'MS_Description', N'确认类型',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'confirm_deal_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'确认意见',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'confirm_comment'
GO
EXEC sp_addextendedproperty
'MS_Description', N'确认时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'confirm_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'remark'
GO
EXEC sp_addextendedproperty
'MS_Description', N'删除标记',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'del_flag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'HF编码',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order',
'COLUMN', N'hf_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检工单',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order'
GO
-- ----------------------------
-- Primary Key structure for table eam_inspection_order
-- ----------------------------
ALTER TABLE [dbo].[eam_inspection_order] ADD CONSTRAINT [PK__eam_insp__3213E83F513910DD] 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]
GO
db/LS/eam_inspection_order_detail.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
/*
 Navicat Premium Dump SQL
 Source Server         : localhost-sqlserver
 Source Server Type    : SQL Server
 Source Server Version : 11003000 (11.00.3000)
 Source Host           : localhost:1433
 Source Catalog        : LXZN_TEST_430_NEW
 Source Schema         : dbo
 Target Server Type    : SQL Server
 Target Server Version : 11003000 (11.00.3000)
 File Encoding         : 65001
 Date: 11/07/2025 10:50:33
*/
-- ----------------------------
-- Table structure for eam_inspection_order_detail
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[eam_inspection_order_detail]') AND type IN ('U'))
    DROP TABLE [dbo].[eam_inspection_order_detail]
GO
CREATE TABLE [dbo].[eam_inspection_order_detail] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [order_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [item_code] int  NULL,
  [item_name] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [item_demand] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [inspection_result] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [report_flag] nvarchar(1) COLLATE Chinese_PRC_CI_AS  NULL,
  [exception_description] nvarchar(255) COLLATE Chinese_PRC_CI_AS  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
)
GO
ALTER TABLE [dbo].[eam_inspection_order_detail] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'工单ID',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'order_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'项目序号',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'item_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保养项目',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'item_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保养要求',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'item_demand'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检结果;正常、异常、关机、故障',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'inspection_result'
GO
EXEC sp_addextendedproperty
'MS_Description', N'报修标记',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'report_flag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'异常描述',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'exception_description'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检工单明细',
'SCHEMA', N'dbo',
'TABLE', N'eam_inspection_order_detail'
GO
-- ----------------------------
-- Primary Key structure for table eam_inspection_order_detail
-- ----------------------------
ALTER TABLE [dbo].[eam_inspection_order_detail] ADD CONSTRAINT [PK__eam_insp__3213E83FB31E58DA] 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]
GO
db/LS/eam_week_inspection_detail.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,175 @@
/*
 Navicat Premium Dump SQL
 Source Server         : localhost-sqlserver
 Source Server Type    : SQL Server
 Source Server Version : 11003000 (11.00.3000)
 Source Host           : localhost:1433
 Source Catalog        : LXZN_TEST_430_NEW
 Source Schema         : dbo
 Target Server Type    : SQL Server
 Target Server Version : 11003000 (11.00.3000)
 File Encoding         : 65001
 Date: 11/07/2025 10:50:40
*/
-- ----------------------------
-- Table structure for eam_week_inspection_detail
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[eam_week_inspection_detail]') AND type IN ('U'))
    DROP TABLE [dbo].[eam_week_inspection_detail]
GO
CREATE TABLE [dbo].[eam_week_inspection_detail] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [equipment_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [standard_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [plan_inspection_date] datetime2(7)  NULL,
  [item_code] int  NULL,
  [item_name] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [item_demand] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [inspection_result] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [report_flag] nvarchar(1) COLLATE Chinese_PRC_CI_AS  NULL,
  [exception_description] nvarchar(255) COLLATE Chinese_PRC_CI_AS  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,
  [inspector] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [inspect_time] datetime2(7)  NULL
)
GO
ALTER TABLE [dbo].[eam_week_inspection_detail] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'设备ID',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'equipment_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'标准ID',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'standard_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'计划点检日期',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'plan_inspection_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'项目序号',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'item_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保养项目',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'item_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保养要求',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'item_demand'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检结果;正常、异常、关机、故障',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'inspection_result'
GO
EXEC sp_addextendedproperty
'MS_Description', N'报修标记',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'report_flag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'异常描述',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'exception_description'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检人',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'inspector'
GO
EXEC sp_addextendedproperty
'MS_Description', N'点检时间',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail',
'COLUMN', N'inspect_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'周点检明细',
'SCHEMA', N'dbo',
'TABLE', N'eam_week_inspection_detail'
GO
-- ----------------------------
-- Primary Key structure for table eam_week_inspection_detail
-- ----------------------------
ALTER TABLE [dbo].[eam_week_inspection_detail] ADD CONSTRAINT [PK__eam_week__3213E83FCC4AA6BA] 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]
GO
db/LS/sys_business_code_rule.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,843 @@
/*
 Navicat Premium Dump SQL
 Source Server         : localhost-sqlserver
 Source Server Type    : SQL Server
 Source Server Version : 11003000 (11.00.3000)
 Source Host           : localhost:1433
 Source Catalog        : LXZN_TEST_430_NEW
 Source Schema         : dbo
 Target Server Type    : SQL Server
 Target Server Version : 11003000 (11.00.3000)
 File Encoding         : 65001
 Date: 01/07/2025 10:19:15
*/
-- ----------------------------
-- Table structure for sys_business_code_rule
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[sys_business_code_rule]') AND type IN ('U'))
    DROP TABLE [dbo].[sys_business_code_rule]
GO
CREATE TABLE [dbo].[sys_business_code_rule] (
  [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,
  [business_name] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [business_code] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [prefix] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [year_format] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [month_format] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [day_format] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [seq_length] int  NULL
)
GO
ALTER TABLE [dbo].[sys_business_code_rule] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'删除标记',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'del_flag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务名称',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'business_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'business_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'编码前缀',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'prefix'
GO
EXEC sp_addextendedproperty
'MS_Description', N'年份编码格式',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'year_format'
GO
EXEC sp_addextendedproperty
'MS_Description', N'月份编码格式',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'month_format'
GO
EXEC sp_addextendedproperty
'MS_Description', N'天 ç¼–码格式',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'day_format'
GO
EXEC sp_addextendedproperty
'MS_Description', N'序号长度',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule',
'COLUMN', N'seq_length'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务编码规则',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_rule'
GO
-- ----------------------------
-- Records of sys_business_code_rule
-- ----------------------------
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'1902203774154248193', N'admin', N'2025-03-19 11:41:35.6240000', NULL, NULL, N'0', N'工艺参数编码规则', N'ProcessParametersRule', N'PRC', N'yyyy', N'MM', N'dd', N'4')
GO
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'1902230626944094210', N'admin', N'2025-03-19 13:28:17.8550000', NULL, NULL, N'0', N'精度参数编码规则', N'PrecisionParametersRule', N'PRS', N'yy', N'M', N'd', N'4')
GO
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'1902243477803536385', N'admin', N'2025-03-19 14:19:21.0000000', N'admin', N'2025-03-19 14:36:36.2420000', N'0', N'备件请购单编码规则', N'SpareRequisitionCodeRule', N'SRCR', N'yyyy', N'MM', N'dd', N'4')
GO
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'1902247777776095233', N'admin', N'2025-03-19 14:36:26.9310000', NULL, NULL, N'0', N'故障原因编码规则', N'EquipmentFaultReasonRule', N'EFR', N'yyyy', NULL, NULL, N'4')
GO
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'1902628155861540866', N'admin', N'2025-03-20 15:47:56.0000000', N'admin', N'2025-03-20 15:48:03.3090000', N'0', N'备件编码规则', N'SparePartCodeRule', N'SP', N'yyyy', N'MM', NULL, N'4')
GO
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'1905536888087691266', N'admin', N'2025-03-28 16:26:11.9360000', NULL, NULL, N'0', N'保养标准规则', N'MaintenanceStandardCodeRule', N'MSCR', N'yyyy', N'MM', NULL, N'4')
GO
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'1907312309862907906', N'admin', N'2025-04-02 14:01:05.0000000', N'admin', N'2025-04-02 14:01:40.4970000', N'0', N'点检工单号规则', N'EamInspectionOrder', N'EIO', N'yyyy', N'MM', N'dd', N'4')
GO
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'1907665666767273985', N'admin', N'2025-04-03 13:25:12.3300000', NULL, NULL, N'0', N'周保工单号规则', N'WeekMaintenanceCodeRule', N'WMCR', N'yyyy', N'MM', N'', N'4')
GO
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'1909078470665629697', N'admin', N'2025-04-07 10:59:11.0260000', NULL, NULL, N'0', N'岗位编码规则', N'PositionCodeRule', N'PCR', NULL, NULL, NULL, N'4')
GO
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'1909083005541539841', N'admin', N'2025-04-07 11:17:12.0000000', N'admin', N'2025-04-07 11:18:37.9750000', N'0', N'维修工单编码规则', N'RepairOrderCodeRule', N'WX', N'yyyy', N'MM', N'', N'4')
GO
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'1921760981629857793', N'admin', N'2025-05-12 10:54:57.0000000', N'admin', N'2025-05-12 10:55:07.6780000', N'0', N'工具分类编码规则', N'ToolsClassify', N'GJFL', N'yyyy', N'MM', NULL, N'4')
GO
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'1922563469951819778', N'admin', N'2025-05-14 16:03:45.3910000', NULL, NULL, N'0', N'二保编码规则', N'SecondMaintenanceCodeRule', N'SMCR', N'yyyy', N'MM', NULL, N'4')
GO
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'1922563625669550081', N'admin', N'2025-05-14 16:04:22.5200000', NULL, NULL, N'0', N'三保编码规则', N'ThirdMaintenanceCodeRule', N'TMCR', N'yyyy', N'MM', NULL, N'4')
GO
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'1922942124129423361', N'admin', N'2025-05-15 17:08:23.0000000', N'admin', N'2025-05-26 11:18:57.5170000', N'0', N'设备借出归还规则', N'EquipmentLeanOutCodeRule', N'LEAN', N'yyyy', N'MM', NULL, N'4')
GO
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'1924402748380516353', N'admin', N'2025-05-19 17:52:23.5350000', NULL, NULL, N'0', N'工具入库申请单编码规则', N'InBoundOrder', N'IBO', NULL, NULL, NULL, N'4')
GO
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'1924661750514237441', N'admin', N'2025-05-20 11:01:34.4720000', NULL, NULL, N'0', N'工具出库申请单编码规则', N'outBoundOrder', N'OBO', N'yyyy', N'MM', NULL, N'4')
GO
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'1925388470684553218', N'admin', N'2025-05-22 11:09:18.0000000', N'admin', N'2025-05-26 11:19:04.7460000', N'0', N'设备封存启封规则', N'EquipmentSealUpCodeRule', N'SEAL', N'yyyy', N'MM', NULL, N'4')
GO
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'1925822932846026753', N'XU1129', N'2025-05-23 15:55:41.8760000', NULL, NULL, N'0', N'工具报损申请编码规则', N'LossBound', N'LB', N'YYYY', N'MM', NULL, N'4')
GO
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'1925823234437455874', N'XU1129', N'2025-05-23 15:56:53.0000000', N'XU1129', N'2025-05-23 16:11:59.2590000', N'0', N'工具盘点申请编码规则', N'stocktakingBound', N'TSB', N'YYYY', N'MM', NULL, N'4')
GO
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'1926840992444026882', N'admin', N'2025-05-26 11:21:06.0000000', N'admin', N'2025-05-26 11:32:19.5650000', N'0', N'设备调拨编码规则', N'EquipmentTransferCodeRule', N'DB', N'yyyy', N'MM', N'', N'4')
GO
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'1927198276936269826', N'admin', N'2025-05-27 11:00:49.0000000', N'admin', N'2025-05-27 11:57:07.4360000', N'0', N'设备报废编码规则', N'EquipmentScrapCodeRule', N'SCRAP', N'YYYY', N'MM', NULL, N'4')
GO
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'1929779613475590145', N'admin', N'2025-06-03 13:58:08.0000000', N'admin', N'2025-06-03 13:59:52.3910000', N'0', N'备件领用码规则', N'SparePartReceive', N'SPR', N'YYYY', N'MM', NULL, N'4')
GO
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'1930807505479364610', N'admin', N'2025-06-06 10:02:36.0000000', N'admin', N'2025-06-06 10:02:54.8780000', N'0', N'备件报废编码规则', N'SparePartScrapCodeRule', N'BJBF', N'yyyy', N'MM', NULL, N'4')
GO
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'1933399195028254721', N'admin', N'2025-06-13 13:41:03.0000000', N'admin', N'2025-06-13 13:41:21.5630000', N'0', N'刀具准备单编码规则', N'ToolPreparationOrder', N'TPO', N'yyyy', N'MM', NULL, N'4')
GO
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'1934814744203427841', N'admin', N'2025-06-17 11:25:56.0000000', N'admin', N'2025-06-17 11:26:49.6290000', N'0', N'油液编码规则', N'EamFluidCodeRule', N'EFCR', N'yyyy', N'MM', N'dd', N'4')
GO
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'1935244162453413890', N'admin', N'2025-06-18 15:52:18.0000000', N'admin', N'2025-06-30 21:25:31.6860000', N'0', N'设备采购计划编码规则', N'EquipmentPurchasePlanRule', N'EPPR', N'yyyy', N'MM', N'dd', N'4')
GO
-- ----------------------------
-- Table structure for sys_business_code_seq
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[sys_business_code_seq]') AND type IN ('U'))
    DROP TABLE [dbo].[sys_business_code_seq]
GO
CREATE TABLE [dbo].[sys_business_code_seq] (
  [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,
  [rule_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [prefix] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [current_year] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [current_month] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [current_day] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [current_seq] int  NULL
)
GO
ALTER TABLE [dbo].[sys_business_code_seq] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'主键',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'规则编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'rule_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'前缀',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'prefix'
GO
EXEC sp_addextendedproperty
'MS_Description', N'当前年份',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'current_year'
GO
EXEC sp_addextendedproperty
'MS_Description', N'当前月份',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'current_month'
GO
EXEC sp_addextendedproperty
'MS_Description', N'当前天',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'current_day'
GO
EXEC sp_addextendedproperty
'MS_Description', N'当前序列值',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq',
'COLUMN', N'current_seq'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务编码生成序列',
'SCHEMA', N'dbo',
'TABLE', N'sys_business_code_seq'
GO
-- ----------------------------
-- Records of sys_business_code_seq
-- ----------------------------
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902205061780410369', N'admin', N'2025-03-19 11:46:42.6460000', NULL, NULL, N'1902203774154248193', N'PRC', N'2025', N'03', N'19', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902235168561631234', N'admin', N'2025-03-19 13:46:20.6620000', NULL, NULL, N'1902230626944094210', N'PRS', N'25', N'3', N'19', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902250920492605442', N'admin', N'2025-03-19 14:48:56.2100000', N'admin', N'2025-05-13 16:35:50.3900000', N'1902247777776095233', N'EFR', N'2025', NULL, NULL, N'6')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902251196090417154', N'admin', N'2025-03-19 14:50:01.9190000', N'admin', N'2025-03-19 17:20:57.2470000', N'1902243477803536385', N'SRCR', N'2025', N'03', N'19', N'2')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902549646657036289', N'admin', N'2025-03-20 10:35:58.0780000', N'admin', N'2025-03-20 15:48:27.0070000', N'1902243477803536385', N'SRCR', N'2025', N'03', N'20', N'10')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1902628442475110402', N'admin', N'2025-03-20 15:49:04.4650000', N'admin', N'2025-03-21 13:46:25.4790000', N'1902628155861540866', N'SP', N'2025', N'03', NULL, N'57')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1906546213484642306', N'zhangherong', N'2025-03-31 11:16:53.8660000', N'admin', N'2025-03-31 17:47:46.8580000', N'1905536888087691266', N'MSCR', N'2025', N'03', NULL, N'4')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1906983134023303169', N'admin', N'2025-04-01 16:13:03.8240000', N'liuyuanheng', N'2025-04-09 16:39:37.7410000', N'1905536888087691266', N'MSCR', N'2025', N'04', NULL, N'12')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1907687764440817666', N'admin', N'2025-04-03 14:53:00.8230000', N'admin', N'2025-04-03 17:17:04.7240000', N'1907312309862907906', N'EIO', N'2025', N'04', N'03', N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1907713865418760194', N'admin', N'2025-04-03 16:36:43.7820000', N'admin', N'2025-04-10 09:48:33.1140000', N'1907665666767273985', N'WMCR', N'2025', N'04', NULL, N'9')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1909066020519829506', N'admin', N'2025-04-07 10:09:42.6780000', N'admin', N'2025-04-07 17:43:46.9490000', N'1907312309862907906', N'EIO', N'2025', N'04', N'07', N'18')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1909079838063259650', N'admin', N'2025-04-07 11:04:37.0390000', N'admin', N'2025-05-27 17:11:23.2560000', N'1909078470665629697', N'PCR', NULL, NULL, NULL, N'7')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1909140283565137921', N'admin', N'2025-04-07 15:04:48.3650000', N'admin', N'2025-04-09 15:13:46.8090000', N'1909083005541539841', N'WX', N'2025', N'04', NULL, N'9')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1909413919380381698', N'admin', N'2025-04-08 09:12:08.2290000', N'liuyuanheng', N'2025-04-08 17:59:10.4020000', N'1907312309862907906', N'EIO', N'2025', N'04', N'08', N'21')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1909775081225768961', N'admin', N'2025-04-09 09:07:15.9240000', N'liuyuanheng', N'2025-04-09 16:24:32.7670000', N'1907312309862907906', N'EIO', N'2025', N'04', N'09', N'15')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1910222976441880578', N'admin', N'2025-04-10 14:47:02.4670000', N'admin', N'2025-04-10 15:39:33.1630000', N'1907312309862907906', N'EIO', N'2025', N'04', N'10', N'12')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1911679027821326338', N'admin', N'2025-04-14 15:12:52.1660000', NULL, NULL, N'1907312309862907906', N'EIO', N'2025', N'04', N'14', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1912333935927021570', N'admin', N'2025-04-16 10:35:14.4260000', N'admin', N'2025-04-16 10:48:35.0470000', N'1907312309862907906', N'EIO', N'2025', N'04', N'16', N'4')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1917417488566374402', N'admin', N'2025-04-30 11:15:27.8290000', NULL, NULL, N'1907312309862907906', N'EIO', N'2025', N'04', N'30', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1919939025538023426', N'admin', N'2025-05-07 10:15:09.0870000', NULL, NULL, N'1907312309862907906', N'EIO', N'2025', N'05', N'07', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1921770746502201345', N'admin', N'2025-05-12 11:33:45.3920000', NULL, NULL, N'1921760981629857793', N'GJFL', N'2025', N'05', NULL, N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1922521704305713153', N'admin', N'2025-05-14 13:17:47.6830000', N'admin', N'2025-05-23 09:57:43.3800000', N'1905536888087691266', N'MSCR', N'2025', N'05', NULL, N'10')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1922860589376278529', N'admin', N'2025-05-15 11:44:24.1810000', N'admin', N'2025-05-20 14:02:55.4210000', N'1922563469951819778', N'SMCR', N'2025', N'05', NULL, N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1922902573440782338', N'admin', N'2025-05-15 14:31:13.9610000', N'admin', N'2025-05-23 17:57:18.9220000', N'1922563625669550081', N'TMCR', N'2025', N'05', NULL, N'8')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1922946115039080449', N'admin', N'2025-05-15 17:24:15.0900000', N'admin', N'2025-05-30 15:55:44.3970000', N'1922942124129423361', N'LEAN', N'2025', N'05', NULL, N'19')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1924405751489536001', N'admin', N'2025-05-19 18:04:19.5380000', N'admin', N'2025-06-04 17:38:06.3530000', N'1924402748380516353', N'IBO', NULL, NULL, NULL, N'21')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1924663063441661954', N'admin', N'2025-05-20 11:06:47.4960000', N'admin', N'2025-05-20 11:06:53.4130000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'20', N'2')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1924696535328579585', N'admin', N'2025-05-20 13:19:47.8100000', N'admin', N'2025-05-30 17:45:31.0570000', N'1924661750514237441', N'OBO', N'2025', N'05', NULL, N'22')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1924703916516208641', N'admin', N'2025-05-20 13:49:07.6250000', N'admin', N'2025-05-30 13:34:00.7890000', N'1902628155861540866', N'SP', N'2025', N'05', NULL, N'21')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1924742377038155778', N'admin', N'2025-05-20 16:21:57.3220000', N'admin', N'2025-05-20 16:26:04.6790000', N'1907312309862907906', N'EIO', N'2025', N'05', N'20', N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925008251143806978', N'admin', N'2025-05-21 09:58:26.6500000', N'admin', N'2025-05-21 10:00:29.5430000', N'1902230626944094210', N'PRS', N'25', N'5', N'21', N'8')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925388708644196353', N'admin', N'2025-05-22 11:10:14.7730000', N'admin', N'2025-05-26 09:25:32.7630000', N'1925388470684553218', N'SEAL', N'2025', N'05', NULL, N'8')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925721230137196545', N'admin', N'2025-05-23 09:11:34.0930000', N'admin', N'2025-05-23 09:17:54.6240000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'23', N'2')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925733263605690370', N'admin', N'2025-05-23 09:59:23.0960000', NULL, NULL, N'1907312309862907906', N'EIO', N'2025', N'05', N'23', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925826887617560578', N'XU1129', N'2025-05-23 16:11:24.7650000', NULL, NULL, N'1925823234437455874', N'sb', N'2025', N'05', NULL, N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925827375918432258', N'XU1129', N'2025-05-23 16:13:21.2180000', N'admin', N'2025-05-26 14:06:17.9940000', N'1925823234437455874', N'TSB', N'2025', N'05', NULL, N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1925862287815938049', N'admin', N'2025-05-23 18:32:04.8560000', NULL, NULL, N'1925822932846026753', N'LB', N'2025', N'05', NULL, N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1926834324666683394', N'admin', N'2025-05-26 10:54:36.5080000', N'admin', N'2025-05-26 11:01:24.5150000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'26', N'2')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1926843894491373569', N'admin', N'2025-05-26 11:32:38.1320000', N'admin', N'2025-05-27 10:58:43.0310000', N'1926840992444026882', N'DB', N'2025', N'05', NULL, N'9')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1927212610336874498', N'admin', N'2025-05-27 11:57:46.8400000', N'admin', N'2025-05-27 15:12:57.5920000', N'1927198276936269826', N'SCRAP', N'2025', N'05', NULL, N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1927241564099260417', N'admin', N'2025-05-27 13:52:49.9500000', N'admin', N'2025-05-27 17:20:07.9590000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'27', N'12')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1927619521376444418', N'admin', N'2025-05-28 14:54:41.9960000', N'sqw', N'2025-05-28 18:20:59.0640000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'28', N'5')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1928275207458533378', N'admin', N'2025-05-30 10:20:09.7310000', N'admin', N'2025-05-30 17:27:10.9680000', N'1902243477803536385', N'SRCR', N'2025', N'05', N'30', N'64')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1929716171297447937', N'admin', N'2025-06-03 09:46:02.2850000', N'admin', N'2025-06-03 16:07:23.8970000', N'1902243477803536385', N'SRCR', N'2025', N'06', N'03', N'12')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1929716193044914178', N'admin', N'2025-06-03 09:46:07.4720000', N'admin', N'2025-06-13 09:56:46.6060000', N'1902628155861540866', N'SP', N'2025', N'06', NULL, N'9')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1929779912953090050', N'admin', N'2025-06-03 13:59:19.4810000', N'admin', N'2025-06-06 15:09:40.5620000', N'1929779613475590145', N'SPR', N'2025', N'06', NULL, N'57')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1930141422624288770', N'admin', N'2025-06-04 13:55:50.1010000', NULL, NULL, N'1907312309862907906', N'EIO', N'2025', N'06', N'04', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1930185417001295874', N'admin', N'2025-06-04 16:50:39.1730000', N'admin', N'2025-06-16 14:18:23.2850000', N'1924661750514237441', N'OBO', N'2025', N'06', NULL, N'18')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1930552744431685633', N'admin', N'2025-06-05 17:10:16.8650000', N'admin', N'2025-06-05 17:15:51.5270000', N'1902243477803536385', N'SRCR', N'2025', N'06', N'05', N'5')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1930800566506713089', N'admin', N'2025-06-06 09:35:02.2450000', N'admin', N'2025-06-06 15:09:35.8540000', N'1902243477803536385', N'SRCR', N'2025', N'06', N'06', N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1930822662909685761', N'admin', N'2025-06-06 11:02:50.4570000', N'admin', N'2025-06-06 15:39:50.0790000', N'1930807505479364610', N'BJBF', N'2025', N'06', NULL, N'18')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1931954412185968642', N'admin', N'2025-06-09 14:00:00.4950000', N'admin', N'2025-06-09 14:00:02.2600000', N'1925822932846026753', N'LB', N'2025', N'06', NULL, N'2')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1931972588781166593', N'admin', N'2025-06-09 15:12:14.1130000', NULL, NULL, N'1902203774154248193', N'PRC', N'2025', N'06', N'09', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1932713779793424385', N'admin', N'2025-06-11 16:17:27.8320000', N'admin', N'2025-06-13 16:42:51.9590000', N'1925823234437455874', N'TSB', N'2025', N'06', NULL, N'4')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1933405091460493314', N'admin', N'2025-06-13 14:04:29.3980000', N'admin', N'2025-06-19 17:39:46.9190000', N'1933399195028254721', N'TPO', N'2025', N'06', NULL, N'5')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1934796748953202689', N'admin', N'2025-06-17 10:14:26.3820000', NULL, NULL, N'1902243477803536385', N'SRCR', N'2025', N'06', N'17', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1934817312719646722', N'admin', N'2025-06-17 11:36:09.1500000', N'admin', N'2025-06-17 13:50:33.1030000', N'1934814744203427841', N'EFCR', N'2025', N'06', N'17', N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1934853776615698434', N'admin', N'2025-06-17 14:01:02.8440000', N'admin', N'2025-06-20 13:16:23.0150000', N'1905536888087691266', N'MSCR', N'2025', N'06', NULL, N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1934854043465707521', N'admin', N'2025-06-17 14:02:06.4700000', N'admin', N'2025-06-20 14:49:18.3610000', N'1922563469951819778', N'SMCR', N'2025', N'06', NULL, N'4')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1934860730443403266', N'admin', N'2025-06-17 14:28:40.7610000', NULL, NULL, N'1902203774154248193', N'PRC', N'2025', N'06', N'17', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935164771439497218', N'admin', N'2025-06-18 10:36:49.7860000', N'admin', N'2025-06-18 15:34:18.3130000', N'1907312309862907906', N'EIO', N'2025', N'06', N'18', N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935246657187680258', N'admin', N'2025-06-18 16:02:12.8460000', NULL, NULL, N'1935244162453413890', N'EPPR', N'2025', N'06', N'18', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935516820136026113', N'admin', N'2025-06-19 09:55:44.7370000', N'admin', N'2025-06-20 14:52:30.3050000', N'1922563625669550081', N'TMCR', N'2025', N'06', NULL, N'3')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935540986675535874', N'admin', N'2025-06-19 11:31:46.4920000', NULL, NULL, N'1921760981629857793', N'GJFL', N'2025', N'06', NULL, N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935600911224107009', N'admin', N'2025-06-19 15:29:53.6090000', NULL, NULL, N'1935244162453413890', N'EPPR', N'2025', N'06', N'19', N'1')
GO
INSERT INTO [dbo].[sys_business_code_seq] ([id], [create_by], [create_time], [update_by], [update_time], [rule_id], [prefix], [current_year], [current_month], [current_day], [current_seq]) VALUES (N'1935891092275654657', N'admin', N'2025-06-20 10:42:58.1410000', N'admin', N'2025-06-20 11:10:52.0490000', N'1935244162453413890', N'EPPR', N'2025', N'06', N'20', N'3')
GO
-- ----------------------------
-- Table structure for sys_maintain_depart
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[sys_maintain_depart]') AND type IN ('U'))
    DROP TABLE [dbo].[sys_maintain_depart]
GO
CREATE TABLE [dbo].[sys_maintain_depart] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [parent_id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [maintain_name] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [maintain_name_abbr] nvarchar(500) COLLATE Chinese_PRC_CI_AS  NULL,
  [maintain_order] int  NULL,
  [description] nvarchar(500) COLLATE Chinese_PRC_CI_AS  NULL,
  [org_type] nvarchar(10) COLLATE Chinese_PRC_CI_AS  NULL,
  [org_code] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL,
  [address] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [memo] nvarchar(500) COLLATE Chinese_PRC_CI_AS  NULL,
  [status] nvarchar(1) COLLATE Chinese_PRC_CI_AS  NULL,
  [del_flag] nvarchar(1) COLLATE Chinese_PRC_CI_AS  NULL,
  [create_by] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [create_time] datetime2(7)  NULL,
  [update_by] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NULL,
  [update_time] datetime2(7)  NULL,
  [maintain_code] nvarchar(64) COLLATE Chinese_PRC_CI_AS  NULL
)
GO
ALTER TABLE [dbo].[sys_maintain_depart] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'ID',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'父ID',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'parent_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产线名称',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'maintain_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'缩写',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'maintain_name_abbr'
GO
EXEC sp_addextendedproperty
'MS_Description', N'排序',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'maintain_order'
GO
EXEC sp_addextendedproperty
'MS_Description', N'描述',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'description'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产线类型 1一级部门 2子部门',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'org_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产线编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'org_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'地址',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'address'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'memo'
GO
EXEC sp_addextendedproperty
'MS_Description', N'状态(1启用,0不启用)',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'删除状态(0,正常,1已删除)',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'del_flag'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建日期',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新人',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'更新日期',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'维修部门编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart',
'COLUMN', N'maintain_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产线表',
'SCHEMA', N'dbo',
'TABLE', N'sys_maintain_depart'
GO
-- ----------------------------
-- Records of sys_maintain_depart
-- ----------------------------
-- ----------------------------
-- Table structure for sys_position
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[sys_position]') AND type IN ('U'))
    DROP TABLE [dbo].[sys_position]
GO
CREATE TABLE [dbo].[sys_position] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [code] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [name] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [post_rank] nvarchar(2) COLLATE Chinese_PRC_CI_AS  NULL,
  [company_id] nvarchar(255) COLLATE Chinese_PRC_CI_AS  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,
  [sys_org_code] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL
)
GO
ALTER TABLE [dbo].[sys_position] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'职务编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职务名称',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职级',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'post_rank'
GO
EXEC sp_addextendedproperty
'MS_Description', N'公司id',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'company_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组织机构编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'sys_org_code'
GO
-- ----------------------------
-- Records of sys_position
-- ----------------------------
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079838201671681', N'PCR0001', N'操作工', NULL, NULL, N'admin', N'2025-04-07 11:04:37.0720000', NULL, NULL, N'A01')
GO
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079910381449218', N'PCR0002', N'维修工', NULL, NULL, N'admin', N'2025-04-07 11:04:54.2810000', NULL, NULL, N'A01')
GO
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079939120820226', N'PCR0003', N'车间班组长', NULL, NULL, N'admin', N'2025-04-07 11:05:01.0000000', N'admin', N'2025-05-19 15:42:08.0230000', N'A01')
GO
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079969235922946', N'PCR0004', N'车间设备管理员', NULL, NULL, N'admin', N'2025-04-07 11:05:08.0000000', N'admin', N'2025-05-19 15:41:14.8330000', N'A01')
GO
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1922222199530192898', N'PCR0006', N'公司设备管理员', NULL, NULL, N'admin', N'2025-05-13 17:27:40.0000000', N'admin', N'2025-05-19 15:41:34.2050000', N'A01')
GO
INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1927291533460058114', N'PCR0007', N'备件管理员', NULL, NULL, N'admin', N'2025-05-27 17:11:23.5840000', NULL, NULL, N'A01')
GO
-- ----------------------------
-- Primary Key structure for table sys_business_code_rule
-- ----------------------------
ALTER TABLE [dbo].[sys_business_code_rule] ADD CONSTRAINT [PK__sys_busi__3213E83FAC8ACCD8] 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]
GO
-- ----------------------------
-- Primary Key structure for table sys_business_code_seq
-- ----------------------------
ALTER TABLE [dbo].[sys_business_code_seq] ADD CONSTRAINT [PK__sys_busi__3213E83F361CB9BB] 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]
GO
-- ----------------------------
-- Indexes structure for table sys_position
-- ----------------------------
CREATE UNIQUE NONCLUSTERED INDEX [uniq_code]
ON [dbo].[sys_position] (
  [code] ASC
)
GO
-- ----------------------------
-- Primary Key structure for table sys_position
-- ----------------------------
ALTER TABLE [dbo].[sys_position] ADD CONSTRAINT [PK__sys_posi__3213E83F22016FDB] 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]
GO
db/LS/sys_position.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
/*
 Navicat Premium Dump SQL
 Source Server         : localhost-sqlserver
 Source Server Type    : SQL Server
 Source Server Version : 11003000 (11.00.3000)
 Source Host           : localhost:1433
 Source Catalog        : LXZN_TEST_430_NEW
 Source Schema         : dbo
 Target Server Type    : SQL Server
 Target Server Version : 11003000 (11.00.3000)
 File Encoding         : 65001
 Date: 11/07/2025 10:51:28
*/
-- ----------------------------
-- Table structure for sys_position
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[sys_position]') AND type IN ('U'))
    DROP TABLE [dbo].[sys_position]
GO
CREATE TABLE [dbo].[sys_position] (
  [id] nvarchar(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [code] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [name] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [post_rank] nvarchar(2) COLLATE Chinese_PRC_CI_AS  NULL,
  [company_id] nvarchar(255) COLLATE Chinese_PRC_CI_AS  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,
  [sys_org_code] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL
)
GO
ALTER TABLE [dbo].[sys_position] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'职务编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职务名称',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职级',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'post_rank'
GO
EXEC sp_addextendedproperty
'MS_Description', N'公司id',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'company_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建人',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'创建时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组织机构编码',
'SCHEMA', N'dbo',
'TABLE', N'sys_position',
'COLUMN', N'sys_org_code'
GO
-- ----------------------------
-- Indexes structure for table sys_position
-- ----------------------------
CREATE UNIQUE NONCLUSTERED INDEX [uniq_code]
ON [dbo].[sys_position] (
  [code] ASC
)
GO
-- ----------------------------
-- Primary Key structure for table sys_position
-- ----------------------------
ALTER TABLE [dbo].[sys_position] ADD CONSTRAINT [PK__sys_posi__3213E83F22016FDB] 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]
GO
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java
@@ -118,7 +118,7 @@
                        log.setEquipmentId(order.getEquipmentId());
                        log.setBusinessId(order.getId());
                        log.setOperator(order.getOperator());
                        log.setDescription(order.getLeaderConfirmComment());
                        log.setDescription(order.getProblemDescription());
                        log.setCreateTime(order.getActualEndTime());
                    }
                }
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnologyStatusEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
package org.jeecg.modules.eam.constant;
public enum TechnologyStatusEnum {
    QUALIFIED, //合格
    RESTRICTED, //限用
    PROHIBITED, //禁用
    ;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,167 @@
package org.jeecg.modules.eam.entity;
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.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description: ä¸‰ä¿å˜æ›´
 * @Author: jeecg-boot
 * @Date: 2025-07-11
 * @Version: V1.0
 */
@Data
@TableName("eam_third_maintenance_change")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "eam_third_maintenance_change对象", description = "三保变更")
public class EamThirdMaintenanceChange extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -5589051394307488593L;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;
    /**
     * ä¸‰ä¿å·¥å•ID
     */
    @Excel(name = "三保工单ID", width = 15)
    @ApiModelProperty(value = "三保工单ID")
    private String orderId;
    /**
     * å˜æ›´å•号
     */
    @Excel(name = "变更单号", width = 15)
    @ApiModelProperty(value = "变更单号")
    private String changeOrderNum;
    /**
     * ç”³è¯·äºº
     */
    @Excel(name = "申请人", width = 15)
    @ApiModelProperty(value = "申请人")
    @Dict(dicCode = "sys_user, realname, username")
    private String applicant;
    /**
     * ç”³è¯·éƒ¨é—¨
     */
    @Excel(name = "申请部门", width = 15)
    @ApiModelProperty(value = "申请部门")
    private String factoryOrgCode;
    /**
     * ç”³è¯·æ—¥æœŸ
     */
    @ApiModelProperty(value = "申请日期")
    @Excel(name = "申请日期", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date applyDate;
    /**
     * ç”³è¯·ç±»åž‹;报废、延保
     */
    @Excel(name = "申请类型;报废、延保", width = 15)
    @ApiModelProperty(value = "申请类型;报废、延保")
    private String applyCategory;
    /**
     * å˜æ›´çŠ¶æ€;待提交、待主管审核、待部门确认、待保障部确认、已作废、已完成
     */
    @Excel(name = "变更状态;待提交、待主管审核、待部门确认、待保障部确认、已作废、已完成", width = 15)
    @ApiModelProperty(value = "变更状态;待提交、待主管审核、待部门确认、待保障部确认、已作废、已完成")
    private String changeStatus;
    /**
     * å»¶ä¿åŽŸå› ç±»åž‹;生产任务、设备故障、报废、大修项修、搬迁
     */
    @Excel(name = "延保原因类型;生产任务、设备故障、报废、大修项修、搬迁", width = 15)
    @ApiModelProperty(value = "延保原因类型;生产任务、设备故障、报废、大修项修、搬迁")
    private String applyReasonType;
    /**
     * å»¶ä¿(变更)原因
     */
    @Excel(name = "延保(变更)原因", width = 15)
    @ApiModelProperty(value = "延保(变更)原因")
    private String applyReason;
    /**
     * å»¶è¿Ÿä¿å…»æ—¥æœŸ
     */
    @ApiModelProperty(value = "延迟保养日期")
    @Excel(name = "延迟保养日期", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date deferredMaintenanceDate;
    /**
     * ä¸»ç®¡é¢†å¯¼ç­¾å­—
     */
    @Excel(name = "主管领导签字", width = 15)
    @ApiModelProperty(value = "主管领导签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String equipmentManagerSignature;
    /**
     * ä¸»ç®¡é¢†å¯¼ç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "主管领导签字时间")
    @Excel(name = "主管领导签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date equipmentManagerSignatureTime;
    /**
     * éƒ¨é—¨é¢†å¯¼ç­¾å­—;根据延保原因类型区分不同的人审批
     */
    @Excel(name = "部门领导签字;根据延保原因类型区分不同的人审批", width = 15)
    @ApiModelProperty(value = "部门领导签字;根据延保原因类型区分不同的人审批")
    @Dict(dicCode = "sys_user, realname, username")
    private String departManagerSignature;
    /**
     * éƒ¨é—¨é¢†å¯¼ç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "部门领导签字时间")
    @Excel(name = "部门领导签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date departManagerSignatureTime;
    /**
     * éƒ¨é—¨é¢†å¯¼æ„è§
     */
    @Excel(name = "部门领导意见", width = 15)
    @ApiModelProperty(value = "部门领导意见")
    private String departManagerComment;
    /**
     * ç”Ÿäº§ä¿éšœéƒ¨é¢†å¯¼ç­¾å­—
     */
    @Excel(name = "生产保障部领导签字", width = 15)
    @ApiModelProperty(value = "生产保障部领导签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String productionSupportSignature;
    /**
     * ç”Ÿäº§ä¿éšœéƒ¨é¢†å¯¼ç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "生产保障部领导签字时间")
    @Excel(name = "生产保障部领导签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date productionSupportSignatureTime;
    /**
     * ç”Ÿäº§ä¿éšœéƒ¨é¢†å¯¼æ„è§
     */
    @Excel(name = "生产保障部领导意见", width = 15)
    @ApiModelProperty(value = "生产保障部领导意见")
    private String productionSupportComment;
    /**
     * HF编码
     */
    @Excel(name = "HF编码", width = 15)
    @ApiModelProperty(value = "HF编码")
    private String hfCode;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
package org.jeecg.modules.eam.entity;
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.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description: çœŸç©ºçƒ­å¤„理炉三保
 * @Author: jeecg-boot
 * @Date: 2025-07-11
 * @Version: V1.0
 */
@Data
@TableName("eam_third_maintenance_furnace")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "eam_third_maintenance_furnace对象", description = "真空热处理炉三保")
public class EamThirdMaintenanceFurnace extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -5799611070364065336L;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;
    /**
     * è®¾å¤‡ID
     */
    @Excel(name = "设备ID", width = 15)
    @ApiModelProperty(value = "设备ID")
    private String equipmentId;
    /**
     * åŽ‹ç¼©ç©ºæ°”åŽ‹åŠ›(MPa)
     */
    @Excel(name = "压缩空气压力(MPa)", width = 15)
    @ApiModelProperty(value = "压缩空气压力(MPa)")
    private String compressedAirPressureValue;
    /**
     * æžé™çœŸç©º(Pa)
     */
    @Excel(name = "极限真空(Pa)", width = 15)
    @ApiModelProperty(value = "极限真空(Pa)")
    private String ultimateVacuumValue;
    /**
     * æ³„漏率(Pa/h)
     */
    @Excel(name = "泄漏率(Pa/h)", width = 15)
    @ApiModelProperty(value = "泄漏率(Pa/h)")
    private String leakRate;
    /**
     * å‡€åŒ–处理
     */
    @Excel(name = "净化处理", width = 15)
    @ApiModelProperty(value = "净化处理")
    private String purificationTreatment;
    /**
     * ç‚‰æ¸©å‡åŒ€æ€§æ£€æµ‹
     */
    @Excel(name = "炉温均匀性检测", width = 15)
    @ApiModelProperty(value = "炉温均匀性检测")
    private String furnaceTemperatureUniformityTesting;
    /**
     * åŠ çƒ­åŠŸçŽ‡æµ‹è¯•
     */
    @Excel(name = "加热功率测试", width = 15)
    @ApiModelProperty(value = "加热功率测试")
    private String heatingPowerTest;
    /**
     * ä¿å…»äºº
     */
    @Excel(name = "保养人", width = 15)
    @ApiModelProperty(value = "保养人")
    @Dict(dicCode = "sys_user, realname, username")
    private String operator;
    /**
     * ä¿å…»æ—¥æœŸ
     */
    @ApiModelProperty(value = "保养日期")
    @Excel(name = "保养日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operateTime;
    /**
     * ä¿å…»çŠ¶æ€;待提交、待确认、已完成
     */
    @Excel(name = "保养状态;待提交、待确认、已完成", width = 15)
    @ApiModelProperty(value = "保养状态;待提交、待确认、已完成")
    private String maintenanceStatus;
    /**
     * èƒ½å¦æ»¡è¶³åŠ å·¥éœ€æ±‚;是否
     */
    @Excel(name = "能否满足加工需求;是否", width = 15)
    @ApiModelProperty(value = "能否满足加工需求;是否")
    private String processingRequirementsFlag;
    /**
     * ç¡®è®¤äºº
     */
    @Excel(name = "确认人", width = 15)
    @ApiModelProperty(value = "确认人")
    @Dict(dicCode = "sys_user, realname, username")
    private String confirmUser;
    /**
     * ç¡®è®¤æ—¥æœŸ
     */
    @ApiModelProperty(value = "确认日期")
    @Excel(name = "确认日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTime;
    /**
     * HF编码
     */
    @Excel(name = "HF编码", width = 15)
    @ApiModelProperty(value = "HF编码")
    private String hfCode;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java
@@ -1,8 +1,6 @@
package org.jeecg.modules.eam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -11,6 +9,7 @@
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@@ -28,36 +27,10 @@
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "eam_third_maintenance_order对象", description = "设备三级保养")
public class EamThirdMaintenanceOrder implements Serializable {
public class EamThirdMaintenanceOrder extends JeecgEntity implements Serializable {
    /**
     * ä¸»é”®
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * åˆ›å»ºäºº
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * æ›´æ–°äºº
     */
    @Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * æ›´æ–°æ—¶é—´
     */
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    private static final long serialVersionUID = 2805431980389464185L;
    /**
     * åˆ é™¤æ ‡è®°
     */
@@ -90,6 +63,20 @@
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date maintenanceDate;
    /**
     * é”å®šå·¥å•日期
     */
    @ApiModelProperty(value = "锁定工单日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date freezeOrderDate;
    /**
     * å·¥å•过期日期
     */
    @ApiModelProperty(value = "工单过期日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date orderExpirationDate;
    /**
     * å®žé™…开始时间
     */
    @Excel(name = "实际开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@@ -106,12 +93,12 @@
    @ApiModelProperty(value = "实际结束时间")
    private Date actualEndTime;
    /**
     * ä¿å…»äºº
     * ç»´ä¿®äºº
     */
    @Excel(name = "保养人", width = 15)
    @ApiModelProperty(value = "保养人")
    @Excel(name = "维修人", width = 15)
    @ApiModelProperty(value = "维修人")
    @Dict(dicCode = "sys_user, realname, username")
    private String operator;
    private String repairman;
    /**
     * ä¿å…»çŠ¶æ€
     */
@@ -127,71 +114,137 @@
    @Dict(dicCode = "order_creation_method")
    private String creationMethod;
    /**
     * æœºåŠ¨åŠžç¡®è®¤
     * ä¿å…»äºº
     */
    @Excel(name = "机动办确认", width = 15)
    @ApiModelProperty(value = "机动办确认")
    @Excel(name = "保养人", width = 15)
    @ApiModelProperty(value = "保养人")
    @Dict(dicCode = "sys_user, realname, username")
    private String confirmUser;
    private String operator;
    /**
     * ç¡®è®¤æ„è§
     * è®¾å¤‡åŠŸèƒ½æ˜¯å¦é½å¤‡;是否
     */
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    @Excel(name = "设备功能是否齐备;是否", width = 15)
    @ApiModelProperty(value = "设备功能是否齐备;是否")
    private String fullyFunctional;
    /**
     * ç¡®è®¤æ—¶é—´
     * è®¾å¤‡åŠŸèƒ½æ˜¯å¦é½å¤‡;是否
     */
    @Excel(name = "确认时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "设备能否正常运转;是否", width = 15)
    @ApiModelProperty(value = "设备功能是否齐备;是否")
    private String runningNormally;
    /**
     * é—®é¢˜æè¿°
     */
    @Excel(name = "问题描述", width = 30)
    @ApiModelProperty(value = "问题描述")
    private String problemDescription;
    /**
     * æ£€æŸ¥äºº
     */
    @Excel(name = "检查人", width = 15)
    @ApiModelProperty(value = "检查人")
    @Dict(dicCode = "sys_user, realname, username")
    private String inspector;
    /**
     * æ£€æŸ¥æ—¶é—´
     */
    @ApiModelProperty(value = "检查时间")
    @Excel(name = "检查时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;
    private Date inspectTime;
    /**
     * å•位领导确认
     * æ“ä½œäººç­¾å­—
     */
    @Excel(name = "单位领导确认", width = 15)
    @ApiModelProperty(value = "单位领导确认")
    @Excel(name = "操作人签字", width = 15)
    @ApiModelProperty(value = "操作人签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String confirmLeader;
    private String operatorSignature;
    /**
     * é¢†å¯¼æ„è§
     * ååŠ©æ“ä½œäºº
     */
    @ApiModelProperty(value = "领导意见")
    private String leaderConfirmComment;
    @Excel(name = "协助操作人", width = 15)
    @ApiModelProperty(value = "协助操作人")
    @Dict(dicCode = "sys_user, realname, username")
    private String assistantOperator;
    /**
     * é¢†å¯¼ç¡®è®¤æ—¶é—´
     * æ“ä½œäººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "领导确认时间")
    @ApiModelProperty(value = "操作人签字时间")
    @Excel(name = "操作人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date leaderConfirmTime;
    @ApiModelProperty(value = "精度检验人")
    @Dict(dicCode = "sys_user, realname, username")
    private String precisionChecker;
    private Date operatorSignatureTime;
    /**
     * ç²¾åº¦æ£€éªŒæ—¶é—´
     * ç»´ä¿®äººç­¾å­—
     */
    @ApiModelProperty(value = "精度检验时间")
    @Excel(name = "维修人签字", width = 15)
    @ApiModelProperty(value = "维修人签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String repairmanSignature;
    /**
     * ååŠ©ç»´ä¿®äºº
     */
    @Excel(name = "协助维修人", width = 15)
    @ApiModelProperty(value = "协助维修人")
    @Dict(dicCode = "sys_user, realname, username")
    private String assistantRepairman;
    /**
     * ç»´ä¿®äººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "维修人签字时间")
    @Excel(name = "维修人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date precisionCheckTime;
    private Date repairmanSignatureTime;
    /**
     * ä¿å…»ä¸Šä¼ å›¾ç‰‡
     * ç»´ä¿®å®¤ä¸»ä»»ç­¾å­—
     */
    @Excel(name = "保养上传图片", width = 15)
    @ApiModelProperty(value = "保养上传图片")
    private String imageFiles;
    @Excel(name = "维修室主任签字", width = 15)
    @ApiModelProperty(value = "维修室主任签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String repairManagerSignature;
    /**
     * ç»´ä¿®å®¤ä¸»ä»»ç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "维修室主任签字时间")
    @Excel(name = "维修室主任签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date repairManagerSignatureTime;
    /**
     * è®¾å¤‡æ£€æŸ¥äººç­¾å­—
     */
    @Excel(name = "设备检查人签字", width = 15)
    @ApiModelProperty(value = "设备检查人签字")
    @Dict(dicCode = "sys_user, realname, username")
    private String inspectorSignature;
    /**
     * è®¾å¤‡æ£€æŸ¥äººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "设备检查人签字时间")
    @Excel(name = "设备检查人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inspectorSignatureTime;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * ç§»äº¤å•HF编码
     */
    @Excel(name = "移交单HF编码", width = 15)
    @ApiModelProperty(value = "移交单HF编码")
    private String hfCodeA;
    /**
     * éªŒæ”¶å•HF编码
     */
    @Excel(name = "验收单HF编码", width = 15)
    @ApiModelProperty(value = "验收单HF编码")
    private String hfCodeB;
    //列表展示
    @TableField(exist = false)
    private String equipmentCode;
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrderDetail.java
@@ -3,80 +3,118 @@
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.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description: è®¾å¤‡ä¸‰çº§ä¿å…»æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-04-29
 * @Date: 2025-04-29
 * @Version: V1.0
 */
@Data
@TableName("eam_third_maintenance_order_detail")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="eam_third_maintenance_order_detail对象", description="设备三级保养明细")
public class EamThirdMaintenanceOrderDetail implements Serializable {
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
@ApiModel(value = "eam_third_maintenance_order_detail对象", description = "设备三级保养明细")
public class EamThirdMaintenanceOrderDetail extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -862977193541514910L;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;
    /**工单ID*/
    @Excel(name = "工单ID", width = 15)
    private Integer delFlag;
    /**
     * å·¥å•ID
     */
    @Excel(name = "工单ID", width = 15)
    @ApiModelProperty(value = "工单ID")
    private String orderId;
    /**项目序号*/
    @Excel(name = "项目序号", width = 15)
    private String orderId;
    /**
     * é¡¹ç›®åºå·
     */
    @Excel(name = "项目序号", width = 15)
    @ApiModelProperty(value = "项目序号")
    private Integer itemCode;
    /**保养项目*/
    @Excel(name = "保养项目", width = 15)
    @ApiModelProperty(value = "保养项目")
    private String itemName;
    /**子项目*/
    @Excel(name = "部位", width = 15)
    private Integer itemCode;
    /**
     * éƒ¨ä½
     */
    @Excel(name = "部位", width = 15)
    @ApiModelProperty(value = "部位")
    private String itemPart;
    /**保养要求*/
    @Excel(name = "保养要求", width = 15)
    @ApiModelProperty(value = "保养要求")
    private String itemDemand;
    /**报修标记*/
    @Excel(name = "报修标记", width = 15)
    @ApiModelProperty(value = "报修标记")
    private String reportFlag;
    /**保养结果*/
    @Excel(name = "保养结果", width = 15)
    private String itemPart;
    /**
     * ä¿å…»å†…容
     */
    @Excel(name = "保养内容", width = 15)
    @ApiModelProperty(value = "保养内容")
    private String itemName;
    /**
     * éªŒæ”¶æ ‡å‡†
     */
    @Excel(name = "验收标准", width = 15)
    @ApiModelProperty(value = "验收标准")
    private String itemDemand;
    /**
     * ä¿å…»ç»“æžœ
     */
    @Excel(name = "保养结果", width = 15)
    @ApiModelProperty(value = "保养结果")
    private String maintenanceResult;
    /**异常描述*/
    @Excel(name = "异常描述", width = 15)
    private String maintenanceResult;
    /**
     * å¼‚常描述
     */
    @Excel(name = "异常描述", width = 15)
    @ApiModelProperty(value = "异常描述")
    private String exceptionDescription;
    private String exceptionDescription;
    /**
     * ç¬¬ä¸€æ¬¡æ£€éªŒç»“æžœ
     */
    @Excel(name = "第一次检验结果", width = 15)
    @ApiModelProperty(value = "第一次检验结果")
    private String firstInspectResult;
    /**
     * ç¬¬ä¸€æ¬¡æ£€éªŒæ—¶é—´
     */
    @ApiModelProperty(value = "第一次检验时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstInspectTime;
    /**
     * ç¬¬ä¸€æ¬¡æ£€éªŒå¼‚常
     */
    @Excel(name = "第一次检验异常", width = 15)
    @ApiModelProperty(value = "第一次检验异常")
    private String firstInspectException;
    /**
     * ç¬¬äºŒæ¬¡æ£€éªŒç»“æžœ
     */
    @Excel(name = "第二次检验结果", width = 15)
    @ApiModelProperty(value = "第二次检验结果")
    private String secondInspectResult;
    /**
     * ç¬¬äºŒæ¬¡æ£€éªŒæ—¶é—´
     */
    @ApiModelProperty(value = "第二次检验时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date secondInspectTime;
    /**
     * ç¬¬äºŒæ¬¡æ£€éªŒå¼‚常
     */
    @Excel(name = "第二次检验异常", width = 15)
    @ApiModelProperty(value = "第二次检验异常")
    private String secondInspectException;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package org.jeecg.modules.eam.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * @Description: ä¸‰ä¿å¤‡ä»¶æ˜Žç»†
 * @Author: jeecg-boot
 * @Date: 2025-07-11
 * @Version: V1.0
 */
@Data
@TableName("eam_third_maintenance_spare")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "eam_third_maintenance_spare对象", description = "三保备件明细")
public class EamThirdMaintenanceSpare extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -164548817301978100L;
    /**
     * å¤‡ä»¶åç§°
     */
    @Excel(name = "备件名称", width = 15)
    @ApiModelProperty(value = "备件名称")
    private String spareName;
    /**
     * å¤‡ä»¶åž‹å·
     */
    @Excel(name = "备件型号", width = 15)
    @ApiModelProperty(value = "备件型号")
    private String spareModel;
    /**
     * ä½¿ç”¨æ•°é‡
     */
    @Excel(name = "使用数量", width = 15)
    @ApiModelProperty(value = "使用数量")
    private BigDecimal spareQuantity;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -238,7 +238,9 @@
                        baseFactoryService.factoryDataNameByOrgCode(eamEquipmentDto.getZxfactoryOrgCode())
                                +"/"+ baseFactoryService.factoryDataNameByOrgCode(eamEquipmentDto.getFactoryOrgCode()));
            }
            eamEquipmentDto.setEquipmentWeightStr(eamEquipmentDto.getEquipmentWeight().toEngineeringString());
            if (eamEquipmentDto.getEquipmentWeight()!=null){
                eamEquipmentDto.setEquipmentWeightStr(eamEquipmentDto.getEquipmentWeight().toEngineeringString());
            }
            eamEquipmentDtos.add(eamEquipmentDto);
        });
        // Step.3 AutoPoi å¯¼å‡ºExcel
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceChange;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceChangeService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
 * @Description: ä¸‰ä¿å˜æ›´
 * @Author: jeecg-boot
 * @Date: 2025-07-11
 * @Version: V1.0
 */
@Slf4j
@Api(tags = "三保变更")
@RestController
@RequestMapping("/eam/eamThirdMaintenanceChange")
public class EamThirdMaintenanceChangeController extends JeecgController<EamThirdMaintenanceChange, IEamThirdMaintenanceChangeService> {
    @Resource
    private IEamThirdMaintenanceChangeService eamThirdMaintenanceChangeService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamThirdMaintenanceChange
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "三保变更-分页列表查询")
    @ApiOperation(value = "三保变更-分页列表查询", notes = "三保变更-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamThirdMaintenanceChange eamThirdMaintenanceChange,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamThirdMaintenanceChange> queryWrapper = QueryGenerator.initQueryWrapper(eamThirdMaintenanceChange, req.getParameterMap());
        Page<EamThirdMaintenanceChange> page = new Page<EamThirdMaintenanceChange>(pageNo, pageSize);
        IPage<EamThirdMaintenanceChange> pageList = eamThirdMaintenanceChangeService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param eamThirdMaintenanceChange
     * @return
     */
    @AutoLog(value = "三保变更-添加")
    @ApiOperation(value = "三保变更-添加", notes = "三保变更-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamThirdMaintenanceChange eamThirdMaintenanceChange) {
        eamThirdMaintenanceChangeService.save(eamThirdMaintenanceChange);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamThirdMaintenanceChange
     * @return
     */
    @AutoLog(value = "三保变更-编辑")
    @ApiOperation(value = "三保变更-编辑", notes = "三保变更-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> edit(@RequestBody EamThirdMaintenanceChange eamThirdMaintenanceChange) {
        eamThirdMaintenanceChangeService.updateById(eamThirdMaintenanceChange);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "三保变更-通过id删除")
    @ApiOperation(value = "三保变更-通过id删除", notes = "三保变更-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        eamThirdMaintenanceChangeService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "三保变更-批量删除")
    @ApiOperation(value = "三保变更-批量删除", notes = "三保变更-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        this.eamThirdMaintenanceChangeService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "三保变更-通过id查询")
    @ApiOperation(value = "三保变更-通过id查询", notes = "三保变更-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        EamThirdMaintenanceChange eamThirdMaintenanceChange = eamThirdMaintenanceChangeService.getById(id);
        return Result.OK(eamThirdMaintenanceChange);
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param eamThirdMaintenanceChange
     */
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, EamThirdMaintenanceChange eamThirdMaintenanceChange) {
        return super.exportXls(request, eamThirdMaintenanceChange, EamThirdMaintenanceChange.class, "三保变更");
    }
    /**
     * é€šè¿‡excel导入数据
     *
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, EamThirdMaintenanceChange.class);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,152 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceFurnaceService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
 * @Description: çœŸç©ºçƒ­å¤„理炉三保
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
@Slf4j
@Api(tags="真空热处理炉三保")
@RestController
@RequestMapping("/eam/eamThirdMaintenanceFurnace")
public class EamThirdMaintenanceFurnaceController extends JeecgController<EamThirdMaintenanceFurnace, IEamThirdMaintenanceFurnaceService> {
    @Resource
    private IEamThirdMaintenanceFurnaceService eamThirdMaintenanceFurnaceService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamThirdMaintenanceFurnace
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-分页列表查询")
    @ApiOperation(value="真空热处理炉三保-分页列表查询", notes="真空热处理炉三保-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamThirdMaintenanceFurnace> queryWrapper = QueryGenerator.initQueryWrapper(eamThirdMaintenanceFurnace, req.getParameterMap());
        Page<EamThirdMaintenanceFurnace> page = new Page<EamThirdMaintenanceFurnace>(pageNo, pageSize);
        IPage<EamThirdMaintenanceFurnace> pageList = eamThirdMaintenanceFurnaceService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param eamThirdMaintenanceFurnace
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-添加")
    @ApiOperation(value="真空热处理炉三保-添加", notes="真空热处理炉三保-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) {
        eamThirdMaintenanceFurnaceService.save(eamThirdMaintenanceFurnace);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamThirdMaintenanceFurnace
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-编辑")
    @ApiOperation(value="真空热处理炉三保-编辑", notes="真空热处理炉三保-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<?> edit(@RequestBody EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) {
        eamThirdMaintenanceFurnaceService.updateById(eamThirdMaintenanceFurnace);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-通过id删除")
    @ApiOperation(value="真空热处理炉三保-通过id删除", notes="真空热处理炉三保-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name="id",required=true) String id) {
        eamThirdMaintenanceFurnaceService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-批量删除")
    @ApiOperation(value="真空热处理炉三保-批量删除", notes="真空热处理炉三保-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.eamThirdMaintenanceFurnaceService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "真空热处理炉三保-通过id查询")
    @ApiOperation(value="真空热处理炉三保-通过id查询", notes="真空热处理炉三保-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
        EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace = eamThirdMaintenanceFurnaceService.getById(id);
        return Result.OK(eamThirdMaintenanceFurnace);
    }
  /**
   * å¯¼å‡ºexcel
   *
   * @param request
   * @param eamThirdMaintenanceFurnace
   */
  @RequestMapping(value = "/exportXls")
  public ModelAndView exportXls(HttpServletRequest request, EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) {
      return super.exportXls(request, eamThirdMaintenanceFurnace, EamThirdMaintenanceFurnace.class, "真空热处理炉三保");
  }
  /**
   * é€šè¿‡excel导入数据
   *
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
      return super.importExcel(request, response, EamThirdMaintenanceFurnace.class);
  }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceSpareService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
 * @Description: ä¸‰ä¿å¤‡ä»¶æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
@Slf4j
@Api(tags="三保备件明细")
@RestController
@RequestMapping("/eam/eamThirdMaintenanceSpare")
public class EamThirdMaintenanceSpareController extends JeecgController<EamThirdMaintenanceSpare, IEamThirdMaintenanceSpareService> {
    @Resource
    private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamThirdMaintenanceSpare
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "三保备件明细-分页列表查询")
    @ApiOperation(value="三保备件明细-分页列表查询", notes="三保备件明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamThirdMaintenanceSpare eamThirdMaintenanceSpare,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamThirdMaintenanceSpare> queryWrapper = QueryGenerator.initQueryWrapper(eamThirdMaintenanceSpare, req.getParameterMap());
        Page<EamThirdMaintenanceSpare> page = new Page<EamThirdMaintenanceSpare>(pageNo, pageSize);
        IPage<EamThirdMaintenanceSpare> pageList = eamThirdMaintenanceSpareService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param eamThirdMaintenanceSpare
     * @return
     */
    @AutoLog(value = "三保备件明细-添加")
    @ApiOperation(value="三保备件明细-添加", notes="三保备件明细-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamThirdMaintenanceSpare eamThirdMaintenanceSpare) {
        eamThirdMaintenanceSpareService.save(eamThirdMaintenanceSpare);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamThirdMaintenanceSpare
     * @return
     */
    @AutoLog(value = "三保备件明细-编辑")
    @ApiOperation(value="三保备件明细-编辑", notes="三保备件明细-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<?> edit(@RequestBody EamThirdMaintenanceSpare eamThirdMaintenanceSpare) {
        eamThirdMaintenanceSpareService.updateById(eamThirdMaintenanceSpare);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "三保备件明细-通过id删除")
    @ApiOperation(value="三保备件明细-通过id删除", notes="三保备件明细-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name="id",required=true) String id) {
        eamThirdMaintenanceSpareService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "三保备件明细-批量删除")
    @ApiOperation(value="三保备件明细-批量删除", notes="三保备件明细-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.eamThirdMaintenanceSpareService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "三保备件明细-通过id查询")
    @ApiOperation(value="三保备件明细-通过id查询", notes="三保备件明细-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
        EamThirdMaintenanceSpare eamThirdMaintenanceSpare = eamThirdMaintenanceSpareService.getById(id);
        return Result.OK(eamThirdMaintenanceSpare);
    }
  /**
   * å¯¼å‡ºexcel
   *
   * @param request
   * @param eamThirdMaintenanceSpare
   */
  @RequestMapping(value = "/exportXls")
  public ModelAndView exportXls(HttpServletRequest request, EamThirdMaintenanceSpare eamThirdMaintenanceSpare) {
      return super.exportXls(request, eamThirdMaintenanceSpare, EamThirdMaintenanceSpare.class, "三保备件明细");
  }
  /**
   * é€šè¿‡excel导入数据
   *
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
      return super.importExcel(request, response, EamThirdMaintenanceSpare.class);
  }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderExpiredJob.java
ÎļþÒÑɾ³ý
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java
ÎļþÒÑɾ³ý
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceChangeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceChange;
/**
 * @Description: ä¸‰ä¿å˜æ›´
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface EamThirdMaintenanceChangeMapper extends BaseMapper<EamThirdMaintenanceChange> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace;
/**
 * @Description: çœŸç©ºçƒ­å¤„理炉三保
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface EamThirdMaintenanceFurnaceMapper extends BaseMapper<EamThirdMaintenanceFurnace> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceSpareMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
/**
 * @Description: ä¸‰ä¿å¤‡ä»¶æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface EamThirdMaintenanceSpareMapper extends BaseMapper<EamThirdMaintenanceSpare> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceChangeMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.EamThirdMaintenanceChangeMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.EamThirdMaintenanceFurnaceMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceSpareMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.EamThirdMaintenanceSpareMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSecondMaintenanceRequest.java
@@ -41,12 +41,6 @@
    /**保养人*/
    @ApiModelProperty(value = "保养人")
    private String operator;
    /**保养图片*/
    @ApiModelProperty(value = "保养图片")
    private String imageFiles;
    /**保养图片*/
    @ApiModelProperty(value = "保养图片")
    private List<FileUploadResult> imageFilesResult;
    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remark;
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceChangeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceChange;
/**
 * @Description: ä¸‰ä¿å˜æ›´
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface IEamThirdMaintenanceChangeService extends IService<EamThirdMaintenanceChange> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace;
/**
 * @Description: çœŸç©ºçƒ­å¤„理炉三保
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface IEamThirdMaintenanceFurnaceService extends IService<EamThirdMaintenanceFurnace> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceSpareService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
/**
 * @Description: ä¸‰ä¿å¤‡ä»¶æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
public interface IEamThirdMaintenanceSpareService extends IService<EamThirdMaintenanceSpare> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -554,31 +554,31 @@
            // 1. æå–设备信息
            EamMaintenanceStandard eamMaintenanceStandard = extractDeviceInfo(sheet);
            if (eamMaintenanceStandard == null) {
            if (eamMaintenanceStandard == null || eamMaintenanceStandard.getEquipmentId() == null) {
                return Result.error("设备信息提取失败");
            } else {
                if (eamMaintenanceStandard.getEquipmentId() == null) {
                    return Result.error("设备信息提取失败");
                }
            }
            eamMaintenanceStandard.setStandardName(name);
            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
            // æ£€æŸ¥é‡å¤
            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(),
                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
            if (exist != null) {
                return Result.error(name + ": è®¾å¤‡æ ‡å‡†å·²å­˜åœ¨ï¼Œä¸èƒ½é‡å¤æ·»åŠ ");
            }
            eamMaintenanceStandardMapper.insert(eamMaintenanceStandard);
            // 2. æå–每日点检项目
            List<EamMaintenanceStandardDetail> dailyDetails = extractDailyItems(sheet, eamMaintenanceStandard);
            Map<Integer, String> rowErrors = new HashMap<>();
            // 2. æå–每日点检项目(优化空行和结束标记处理)
            List<EamMaintenanceStandardDetail> dailyDetails = extractDailyItems(sheet, eamMaintenanceStandard, rowErrors);
            if (dailyDetails.isEmpty()) {
                return Result.error("未找到每日点检项目");
            }
            // 3. æå–周保养项目
            List<EamMaintenanceStandardDetail> weeklyDetails = extractWeeklyItems(sheet, eamMaintenanceStandard);
            List<EamMaintenanceStandardDetail> weeklyDetails = extractWeeklyItems(sheet, eamMaintenanceStandard, rowErrors);
            if (weeklyDetails.isEmpty()) {
                return Result.error("未找到周保养项目");
            }
@@ -592,14 +592,11 @@
                eamMaintenanceStandardDetailService.saveBatch(allDetails);
            }
            // è§¦å‘保养流程
            SysParams sysParams = sysParamsService.getSysPramBySettingKey("maintenance_import_type");
            if (sysParams != null) {
                if (sysParams.getSettingValue().equals("1")) {
                    //触发保养流程
                    eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                    eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
                }
            if (sysParams != null && sysParams.getSettingValue().equals("1")) {
                eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
            } else {
                return Result.error("未找到保养流程导入相关配置,请联系管理员");
            }
@@ -728,171 +725,6 @@
    }
    /**
     * æå–每日点检项目
     */
    private List<EamMaintenanceStandardDetail> extractDailyItems(Sheet sheet, EamMaintenanceStandard standard) {
        return extractItems(sheet, standard, "点检项目", "完成数据/要求", "DAY_INSPECTION");
    }
    /**
     * æå–周保养项目
     */
    private List<EamMaintenanceStandardDetail> extractWeeklyItems(Sheet sheet, EamMaintenanceStandard standard) {
        return extractItems(sheet, standard, "周保养项目", "检查标准", "WEEK_INSPECTION");
    }
    /**
     * é€šç”¨é¡¹ç›®æå–方法
     */
    private List<EamMaintenanceStandardDetail> extractItems(Sheet sheet, EamMaintenanceStandard standard,
                                                            String primaryHeader, String secondaryHeader,
                                                            String itemCategory) {
        int[] section = findTableSection(sheet, primaryHeader, secondaryHeader);
        if (section == null) {
            return Collections.emptyList();
        }
        List<EamMaintenanceStandardDetail> details = new ArrayList<>();
        for (int rowIdx = section[0]; rowIdx <= section[1]; rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            if (row == null || isEmptyRow(row)) {
                continue;
            }
            // ç¡®ä¿ç¬¬ä¸€åˆ—是序号(数字)
            Cell seqCell = row.getCell(0);
            if (seqCell == null || seqCell.getCellType() != CellType.NUMERIC) {
                continue;
            }
            // åˆ›å»ºé¡¹ç›®è¯¦æƒ…
            EamMaintenanceStandardDetail detail = new EamMaintenanceStandardDetail();
            detail.setStandardId(standard.getId());
            detail.setItemCode(Integer.parseInt(getCellStringValue(row.getCell(0))));
            detail.setItemName(getCellStringValue(row.getCell(1)));
            detail.setItemCategory(itemCategory);
            // æ ¹æ®é¡¹ç›®ç±»åž‹è®¾ç½®éœ€æ±‚字段
            if ("DAY_INSPECTION".equals(itemCategory)) {
                detail.setItemDemand(getCellStringValue(row.getCell(2)));
            } else if ("WEEK_INSPECTION".equals(itemCategory)) {
                detail.setItemDemand(getCellStringValue(row.getCell(2)));
            }
            details.add(detail);
        }
        return details;
    }
    /**
     * æŸ¥æ‰¾è¡¨æ ¼åŒºåŸŸ
     */
    private int[] findTableSection(Sheet sheet, String primaryHeader, String secondaryHeader) {
        for (int rowIdx = 0; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            if (row == null) continue;
            if (isHeaderRow(row, primaryHeader, secondaryHeader)) {
                int startRow = rowIdx + 1;
                int endRow = findDataEnd(sheet, startRow);
                return new int[]{startRow, endRow};
            }
        }
        return null;
    }
    /**
     * æ£€æŸ¥æ˜¯å¦ä¸ºè¡¨å¤´è¡Œ
     */
    private boolean isHeaderRow(Row row, String header1, String header2) {
        boolean foundHeader1 = false;
        boolean foundHeader2 = false;
        for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
            Cell cell = row.getCell(colIdx);
            if (cell == null) continue;
            String cellValue = getCellStringValue(cell);
            if (cellValue.contains(header1)) foundHeader1 = true;
            if (cellValue.contains(header2)) foundHeader2 = true;
        }
        return foundHeader1 && foundHeader2;
    }
    /**
     * æŸ¥æ‰¾æ•°æ®ç»“束位置
     */
    private int findDataEnd(Sheet sheet, int startRow) {
        for (int rowIdx = startRow; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            if (row == null) return rowIdx - 1;
            // æ£€æŸ¥æ˜¯å¦ç»“束标志行(如签字行)
            if (isSignatureRow(row)) {
                return rowIdx - 1;
            }
            // æ£€æŸ¥æ˜¯å¦æ–°çš„表头开始
            if (isNewHeaderStart(row)) {
                return rowIdx - 1;
            }
        }
        return sheet.getLastRowNum();
    }
    /**
     * è¯†åˆ«ç­¾å­—行特征
     */
    private boolean isSignatureRow(Row row) {
        for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
            Cell cell = row.getCell(colIdx);
            if (cell == null) continue;
            String value = getCellStringValue(cell);
            if (value.contains("签字") || value.contains("责任人") ||
                    value.contains("执行") || value.contains("确认")) {
                return true;
            }
        }
        return false;
    }
    /**
     * è¯†åˆ«æ–°è¡¨å¤´å¼€å§‹
     */
    private boolean isNewHeaderStart(Row row) {
        for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
            Cell cell = row.getCell(colIdx);
            if (cell == null) continue;
            String value = getCellStringValue(cell);
            if ("序号".equals(value) || "点检项目".equals(value) || "周保养项目".equals(value)) {
                return true;
            }
        }
        return false;
    }
    /**
     * æ£€æŸ¥è¡Œæ˜¯å¦ä¸ºç©º
     */
    private boolean isEmptyRow(Row row) {
        if (row == null) return true;
        for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
            Cell cell = row.getCell(colIdx);
            if (cell != null && cell.getCellType() != CellType.BLANK) {
                String value = getCellStringValue(cell);
                if (StringUtils.isNotBlank(value)) {
                    return false;
                }
            }
        }
        return true;
    }
    /**
     * ä½¿ç”¨æ­£åˆ™æå–字段
     */
    private String extractField(String text, String regex) {
@@ -903,10 +735,139 @@
    }
    /**
     * èŽ·å–å•å…ƒæ ¼å­—ç¬¦ä¸²å€¼
            * æå–每日点检项目
     */
    private List<EamMaintenanceStandardDetail> extractDailyItems(Sheet sheet, EamMaintenanceStandard standard, Map<Integer, String> rowErrors) {
        // ä½¿ç”¨å¤šå…³é”®è¯åŒ¹é…
        String[] primaryHeaders = {"点检项目", "日常点检", "每日检查"};
        String[] secondaryHeaders = {"完成数据/要求", "检查标准", "要求"};
        return extractItems(sheet, standard, primaryHeaders, secondaryHeaders, "DAY_INSPECTION", rowErrors);
    }
    /**
            * æå–周保养项目
     */
    private List<EamMaintenanceStandardDetail> extractWeeklyItems(Sheet sheet, EamMaintenanceStandard standard, Map<Integer, String> rowErrors) {
        // ä½¿ç”¨å¤šå…³é”®è¯åŒ¹é…
        String[] primaryHeaders = {"周保养项目", "周保养", "每周保养"};
        String[] secondaryHeaders = {"检查标准", "保养要求", "标准"};
        return extractItems(sheet, standard, primaryHeaders, secondaryHeaders, "WEEK_INSPECTION", rowErrors);
    }
    /**
     * æ ¸å¿ƒæ”¹è¿›ï¼šä¼˜åŒ–表格区域识别和数据提取
    */
    private List<EamMaintenanceStandardDetail> extractItems(Sheet sheet,
                                                            EamMaintenanceStandard standard,
                                                            String[] primaryHeaders,
                                                            String[] secondaryHeaders,
                                                            String itemCategory,
                                                            Map<Integer, String> rowErrors) {
        // 1. å®šä½è¡¨æ ¼åŒºåŸŸï¼ˆç²¾ç¡®åŒ¹é…è¡¨å¤´ï¼‰
        int startRow = findHeaderRow(sheet, primaryHeaders, secondaryHeaders);
        if (startRow == -1) {
            rowErrors.put(-1, "未找到" + Arrays.toString(primaryHeaders) + "表头区域");
            return Collections.emptyList();
        }
        int endRow = findDataEnd(sheet, startRow + 1, "周保养项目");
        // æå–日志(实际使用时可以去掉)
        System.out.println("提取区域: " + (startRow + 1) + "行到" + (endRow + 1) + "行");
        // 2. æå–数据行
        List<EamMaintenanceStandardDetail> details = new ArrayList<>();
        for (int rowIdx = startRow + 1; rowIdx <= endRow; rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            if (row == null) continue;
            try {
                // åºå·åˆ—处理
                Cell seqCell = row.getCell(0);
                if (seqCell == null || seqCell.getCellType() == CellType.BLANK) {
                    continue;
                }
                // èŽ·å–åºå·å€¼ï¼ˆæ”¯æŒæ•°å­—å’Œæ–‡æœ¬æ ¼å¼ï¼‰
                int seqValue = 0;
                try {
                    if (seqCell.getCellType() == CellType.NUMERIC) {
                        seqValue = (int) seqCell.getNumericCellValue();
                    } else if (seqCell.getCellType() == CellType.STRING) {
                        seqValue = Integer.parseInt(seqCell.getStringCellValue().trim());
                    }
                } catch (NumberFormatException e) {
                    rowErrors.put(rowIdx + 1, "序号格式错误");
                    continue;
                }
                // é¡¹ç›®åç§°åˆ—(第二列)
                Cell nameCell = row.getCell(1);
                if (nameCell == null || nameCell.getCellType() == CellType.BLANK) {
                    continue;
                }
                String itemName = getCellStringValue(nameCell).trim();
                // è¦æ±‚/标准列(第三列)
                String demand = "";
                if (row.getLastCellNum() >= 3) {
                    Cell demandCell = row.getCell(2);
                    if (demandCell != null) {
                        demand = getCellStringValue(demandCell).trim();
                    }
                }
                // åˆ›å»ºè¯¦æƒ…对象
                EamMaintenanceStandardDetail detail = new EamMaintenanceStandardDetail();
                detail.setStandardId(standard.getId());
                detail.setItemCode(seqValue);
                detail.setItemName(itemName);
                detail.setItemDemand(demand);
                detail.setItemCategory(itemCategory);
                details.add(detail);
            } catch (Exception e) {
                rowErrors.put(rowIdx + 1, "解析错误: " + e.getMessage());
            }
        }
        return details;
    }
    /**
     * èŽ·å–è¡Œä¸­æ‰€æœ‰å•å…ƒæ ¼çš„å­—ç¬¦ä¸²å€¼
     */
    private List<String> getRowStringValues(Row row) {
        List<String> values = new ArrayList<>();
        if (row == null) return values;
        for (int cellIdx = 0; cellIdx < row.getLastCellNum(); cellIdx++) {
            Cell cell = row.getCell(cellIdx);
            if (cell != null) {
                values.add(getCellStringValue(cell));
            } else {
                values.add(""); // å¯¹äºŽç©ºå•元格添加空字符串
            }
        }
        return values;
    }
    /**
     * èŽ·å–å•å…ƒæ ¼å­—ç¬¦ä¸²å€¼ï¼ˆå¢žå¼ºå…¬å¼å¤„ç†ï¼‰
     */
    private String getCellStringValue(Cell cell) {
        if (cell == null) return "";
        if (cell == null) {
            return "";
        }
        // ä¿æŒä¸å˜ï¼Œä½†æ·»åŠ æ•°å­—ç±»åž‹å¤„ç†
        if (cell.getCellType() == CellType.NUMERIC) {
            // æ•´æ•°å¤„理
            double num = cell.getNumericCellValue();
            if (num == (int) num) {
                return String.valueOf((int) num);
            }
            return String.valueOf(num);
        }
        switch (cell.getCellType()) {
            case STRING:
                return cell.getStringCellValue().trim();
@@ -918,22 +879,117 @@
            case BOOLEAN:
                return String.valueOf(cell.getBooleanCellValue());
            case FORMULA:
                return handleFormulaCell(cell);
                return getFormulaCellValue(cell);
            default:
                return "";
        }
    }
    /**
     * å¤„理公式单元格
     * ç²¾ç¡®æŸ¥æ‰¾è¡¨å¤´è¡Œ
    */
    private int findHeaderRow(Sheet sheet, String[] primaryHeaders, String[] secondaryHeaders) {
        for (int rowIdx = 0; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            if (row == null) continue;
            String rowText = getRowStringValues(row).stream().collect(Collectors.joining());
            // æ£€æŸ¥ä¸»æ ‡é¢˜å’Œå‰¯æ ‡é¢˜
            boolean hasPrimary = false;
            boolean hasSecondary = false;
            for (String header : primaryHeaders) {
                if (rowText.contains(header)) {
                    hasPrimary = true;
                    break;
                }
            }
            for (String header : secondaryHeaders) {
                if (rowText.contains(header)) {
                    hasSecondary = true;
                    break;
                }
            }
            if (hasPrimary && hasSecondary) {
                return rowIdx;
            }
        }
        return -1;
    }
    /**
     * æŸ¥æ‰¾æ•°æ®ç»“束位置(根据您的Excel结构优化)
     */
    private String handleFormulaCell(Cell cell) {
    private int findDataEnd(Sheet sheet, int startRow, String nextSectionKeyword) {
        int consecutiveEmptyRows = 0;
        final int MAX_EMPTY_ROWS = 3;
        for (int rowIdx = startRow; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            // å…³é”®æ”¹è¿›1:空行处理
            if (isEssentiallyEmpty(row)) {
                consecutiveEmptyRows++;
                if (consecutiveEmptyRows >= MAX_EMPTY_ROWS) {
                    return rowIdx - consecutiveEmptyRows;
                }
                continue;
            } else {
                consecutiveEmptyRows = 0;
            }
            // å…³é”®æ”¹è¿›2:结束标记检测
            String rowText = getRowStringValues(row).stream().collect(Collectors.joining());
            // æ ¹æ®æ‚¨çš„Excel结构,签字行有特定格式
            if (rowText.contains("维护责任人签字")) {
                return rowIdx - 1;
            }
            // æ£€æµ‹ä¸‹ä¸€ä¸ªåŒºåŸŸçš„开始(如周保养项目)
            if (StringUtils.isNotBlank(nextSectionKeyword) &&
                    rowText.contains(nextSectionKeyword)) {
                return rowIdx - 1;
            }
        }
        return sheet.getLastRowNum();
    }
    /**
     * åˆ¤æ–­æ¡ä»¶ï¼šå‰ä¸¤åˆ—为空即视为空行
     */
    private boolean isEssentiallyEmpty(Row row) {
        if (row == null) return true;
        // æ£€æŸ¥åºå·åˆ—
        Cell indexCell = row.getCell(0);
        if (indexCell != null && indexCell.getCellType() != CellType.BLANK) {
            return false;
        }
        // æ£€æŸ¥é¡¹ç›®åç§°åˆ—
        Cell nameCell = row.getCell(1);
        if (nameCell != null && nameCell.getCellType() != CellType.BLANK) {
            return false;
        }
        return true;
    }
    /**
            * èŽ·å–å…¬å¼å•å…ƒæ ¼å€¼
     */
    private String getFormulaCellValue(Cell cell) {
        try {
            FormulaEvaluator evaluator = cell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
            Workbook workbook = cell.getSheet().getWorkbook();
            FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
            CellValue cellValue = evaluator.evaluate(cell);
            if (cellValue == null) return "";
            if (cellValue == null) {
                return "";
            }
            switch (cellValue.getCellType()) {
                case STRING:
                    return cellValue.getStringValue();
@@ -945,9 +1001,67 @@
                    return "";
            }
        } catch (Exception e) {
            log.warn("解析公式单元格失败");
            return "";
        }
    }
    private int findDataEnd(Sheet sheet, int startRow) {
        int consecutiveEmptyRows = 0;
        final int MAX_EMPTY_ROWS = 2;
        boolean foundData = false;
        for (int rowIdx = startRow; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
            Row row = sheet.getRow(rowIdx);
            // å…³é”®ä¼˜åŒ–1:先检查是否为空行
            if (isEmptyRow(row)) {
                consecutiveEmptyRows++;
                if (consecutiveEmptyRows >= MAX_EMPTY_ROWS) {
                    return foundData ? rowIdx - consecutiveEmptyRows : startRow;
                }
                continue;
            } else {
                consecutiveEmptyRows = 0;
            }
            // å…³é”®ä¼˜åŒ–2:严格限定结束标记的识别条件
            if (isStrongEndMarker(row)) {
                return foundData ? rowIdx - 1 : startRow;
            }
            // å…³é”®ä¼˜åŒ–3:标记已找到有效数据
            foundData = true;
        }
        return sheet.getLastRowNum();
    }
    // å¢žå¼ºç‰ˆç»“束标记识别
    private boolean isStrongEndMarker(Row row) {
        String rowText = String.join("", getRowStringValues(row)).toLowerCase();
        return
                // ç²¾ç¡®åŒ¹é…ç­¾å­—特征(出现在行首)
                (rowText.startsWith("维护责任人签字") ||
                        rowText.startsWith("执行人签字")) ||
                        // ç²¾ç¡®åŒ¹é…æ–°æ¿å—标题
                        rowText.matches("^\\s*周保养项目\\s*$") ||
                        rowText.contains("年度保养项目");
    }
    // ç©ºè¡Œæ£€æµ‹ä¼˜åŒ–(允许部分列为空)
    private boolean isEmptyRow(Row row) {
        if (row == null) return true;
        // åªæ£€æŸ¥å‰3列(序号列+项目名+要求)
        for (int cellIdx = 0; cellIdx < Math.min(3, row.getLastCellNum()); cellIdx++) {
            Cell cell = row.getCell(cellIdx);
            if (cell != null && cell.getCellType() != CellType.BLANK) {
                return false;
            }
        }
        return true;
    }
    /*导入点检文件Excel--------------------------结束*/
    /*导入二保三保文件Excel--------------------------开始*/
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -3,12 +3,12 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.flowable.engine.TaskService;
@@ -33,6 +33,10 @@
import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
import org.jeecg.modules.flowable.service.IFlowDefinitionService;
import org.jeecg.modules.flowable.service.IFlowTaskService;
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.system.service.ISysUserService;
import org.jeecg.modules.system.vo.UserSelector;
import org.springframework.beans.factory.annotation.Autowired;
@@ -66,7 +70,10 @@
    private TaskService taskService;
    @Autowired
    private IFlowTaskService flowTaskService;
    @Autowired
    private IBaseFactoryUserService baseFactoryUserService;
    @Autowired
    private IBaseFactoryService baseFactoryService;
    @Autowired
    private ISysUserService sysUserService;
    @Autowired
@@ -84,13 +91,21 @@
        if (sysUser == null) {
            return page;
        }
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
            //没有选择设备,根据中心过滤设备
            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCode);
            } else {
                return page;
            }
        }
        //查询条件过滤
        if (query != null) {
@@ -370,17 +385,6 @@
                //设置entity
                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_CONFIRM.name());
                entity.setActualEndTime(new Date());
                //处理附件
                if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
                    List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
                    ObjectMapper mapper = new ObjectMapper();
                    try {
                        String referenceFile = mapper.writeValueAsString(fileUploadResultList);
                        entity.setImageFiles(referenceFile);
                    } catch (JsonProcessingException e) {
                        log.error("JSON转换失败:" + e.getMessage(), e);
                    }
                }
                //处理详情
                if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                    secondMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList());
@@ -403,10 +407,7 @@
                request.setComment(request.getConfirmComment());
                //设置entity
                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_LEADER_CONFIRM.name());
                entity.setConfirmUser(user.getUsername());
                entity.setConfirmComment(request.getConfirmComment());
                entity.setConfirmTime(new Date());
                entity.setConfirmDealType(request.getConfirmDealType());
                if (CommonConstant.HAS_CANCLE.equals(request.getConfirmDealType())) {
                    //驳回
                    userApprovalList = new ArrayList<>();
@@ -427,9 +428,6 @@
                request.setComment(request.getLeaderConfirmComment());
                //设置entity
                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.COMPLETE.name());
                entity.setConfirmLeader(user.getUsername());
                entity.setLeaderConfirmComment(request.getLeaderConfirmComment());
                entity.setLeaderConfirmTime(new Date());
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
                break;
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceChange;
import org.jeecg.modules.eam.mapper.EamThirdMaintenanceChangeMapper;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceChangeService;
import org.springframework.stereotype.Service;
/**
 * @Description: ä¸‰ä¿å˜æ›´
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
@Service
public class EamThirdMaintenanceChangeServiceImpl extends ServiceImpl<EamThirdMaintenanceChangeMapper, EamThirdMaintenanceChange> implements IEamThirdMaintenanceChangeService {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace;
import org.jeecg.modules.eam.mapper.EamThirdMaintenanceFurnaceMapper;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceFurnaceService;
import org.springframework.stereotype.Service;
/**
 * @Description: çœŸç©ºçƒ­å¤„理炉三保
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
@Service
public class EamThirdMaintenanceFurnaceServiceImpl extends ServiceImpl<EamThirdMaintenanceFurnaceMapper, EamThirdMaintenanceFurnace> implements IEamThirdMaintenanceFurnaceService {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -3,8 +3,10 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -38,6 +40,10 @@
import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
import org.jeecg.modules.flowable.service.IFlowDefinitionService;
import org.jeecg.modules.flowable.service.IFlowTaskService;
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.system.service.ISysUserService;
import org.jeecg.modules.system.vo.UserSelector;
import org.springframework.beans.factory.annotation.Autowired;
@@ -82,6 +88,11 @@
    @Autowired
    private IEamPrecisionCheckDetailService precisionCheckDetailService;
    @Resource
    private IBaseFactoryUserService baseFactoryUserService;
    @Resource
    private IBaseFactoryService baseFactoryService;
    @Override
    public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) {
        QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>();
@@ -95,8 +106,16 @@
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
            //没有选择设备,根据中心过滤设备
            List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.
                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId()));
            if (!CollectionUtils.isEmpty(baseFactoryUserList)) {
                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
                Set<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCode);
            }else {
                return page;
            }
        }
        //查询条件过滤
        if (query != null) {
@@ -330,138 +349,138 @@
        if (entity == null) {
            throw new JeecgBootException("审批的数据已删除,请刷新重试!");
        }
        // èŽ·å–å½“å‰ç™»å½•ç”¨æˆ·
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (user == null || StrUtil.isBlank(user.getId())) {
            throw new JeecgBootException("未获取到登录用户,请重新登录后再试!");
        }
        request.setAssignee(user.getUsername());
        // èŽ·å–æµç¨‹ä¸šåŠ¡è®°å½•
        FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId(), request.getTaskId());
        if (flowMyBusiness == null) {
            throw new JeecgBootException("流程实例不存在,请刷新后重试!");
        }
        boolean userAuthorized = isUserAuthorized(flowMyBusiness, user);
        if (!userAuthorized) {
            throw new JeecgBootException("用户无权操作此任务,请刷新后重试!");
        }
        // è®¤é¢†ä»»åŠ¡
        if (!claimTask(flowMyBusiness.getTaskId(), user)) {
            throw new JeecgBootException("任务不存在、已完成或已被他人认领!");
        }
        EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId());
        if (equipment == null) {
            throw new JeecgBootException("设备不存在,请检查!");
        }
        ThirdMaintenanceStatusEnum status = ThirdMaintenanceStatusEnum.getInstance(entity.getMaintenanceStatus());
        if (status == null) {
            return null;
        }
        //流程变量
        Map<String, Object> values = new HashMap<>();
        List<String> userApprovalList;
        List<UserSelector> userSelectors;
        switch (status) {
            case UNDER_MAINTENANCE:
                boolean parallelCompletion = flowTaskService.checkParallelCompletion(flowMyBusiness.getTaskId());
                //执行完成
                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006);
                if (CollectionUtil.isEmpty(userSelectors)) {
                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
                }
                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                values.put("dataId", entity.getId());
                values.put("organization", "三保执行结束");
                values.put("comment", "三保执行结束");
                if (parallelCompletion) {
                    values.put("NextAssignee", userApprovalList);
                }
                request.setComment("三保执行结束");
                //设置entity
                if (parallelCompletion) {
                    entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_CONFIRM.name());
                    entity.setActualEndTime(new Date());
                }
                if ("maintenance_execution".equals(flowMyBusiness.getTaskNameId())) {
                    //执行保养
                    //处理附件
                    if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
                        List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
                        ObjectMapper mapper = new ObjectMapper();
                        try {
                            String referenceFile = mapper.writeValueAsString(fileUploadResultList);
                            entity.setImageFiles(referenceFile);
                        } catch (JsonProcessingException e) {
                            log.error("JSON转换失败:" + e.getMessage(), e);
                        }
                    }
                    //处理详情
                    if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                        thirdMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList());
                    }
                } else if ("precision_check".equals(flowMyBusiness.getTaskNameId())) {
                    entity.setPrecisionChecker(user.getUsername());
                    entity.setPrecisionCheckTime(new Date());
                    //处理精度检验
                    if (CollectionUtil.isNotEmpty(request.getPrecisionDetailList())) {
                        precisionCheckDetailService.updateBatchById(request.getPrecisionDetailList());
                    }
                }
                if (parallelCompletion) {
                    //更新设备保养状态
                    eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.THIRD_MAINTENANCE_WAIT_CONFIRM.name());
                }
                break;
            case WAIT_CONFIRM:
                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0003);
                if (CollectionUtil.isEmpty(userSelectors)) {
                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
                }
                //班组长确认
                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                values.put("dataId", entity.getId());
                values.put("organization", request.getConfirmComment());
                values.put("comment", request.getConfirmComment());
                values.put("NextAssignee", userApprovalList);
                values.put("confirmation", request.getConfirmDealType());
                request.setComment(request.getConfirmComment());
                //设置entity
                entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_LEADER_CONFIRM.name());
                entity.setConfirmUser(user.getUsername());
                entity.setConfirmComment(request.getConfirmComment());
                entity.setConfirmTime(new Date());
                //处理报修
                List<EamThirdMaintenanceOrderDetail> collect = request.getTableDetailList().stream().filter((detail) -> CommonConstant.DEFAULT_1.equals(detail.getReportFlag())).collect(Collectors.toList());
                if (CollectionUtil.isNotEmpty(collect)) {
                    eamReportRepairService.reportRepairFromThirdMaintenance(equipment.getId(), entity.getOperator(), collect);
                }
                break;
            case WAIT_LEADER_CONFIRM:
                values.put("dataId", entity.getId());
                values.put("organization", request.getLeaderConfirmComment());
                values.put("comment", request.getLeaderConfirmComment());
                request.setComment(request.getLeaderConfirmComment());
                //设置entity
                entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.COMPLETE.name());
                entity.setConfirmLeader(user.getUsername());
                entity.setLeaderConfirmComment(request.getLeaderConfirmComment());
                entity.setLeaderConfirmTime(new Date());
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
                break;
        }
        request.setValues(values);
        // å®Œæˆæµç¨‹ä»»åŠ¡
        Result result = flowTaskService.complete(request);
        if (!result.isSuccess()) {
            throw new JeecgBootException("审批失败,请刷新查看!");
        }
        //保存工单
        eamThirdMaintenanceOrderMapper.updateById(entity);
//        // èŽ·å–å½“å‰ç™»å½•ç”¨æˆ·
//        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//        if (user == null || StrUtil.isBlank(user.getId())) {
//            throw new JeecgBootException("未获取到登录用户,请重新登录后再试!");
//        }
//        request.setAssignee(user.getUsername());
//        // èŽ·å–æµç¨‹ä¸šåŠ¡è®°å½•
//        FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId(), request.getTaskId());
//        if (flowMyBusiness == null) {
//            throw new JeecgBootException("流程实例不存在,请刷新后重试!");
//        }
//
//        boolean userAuthorized = isUserAuthorized(flowMyBusiness, user);
//        if (!userAuthorized) {
//            throw new JeecgBootException("用户无权操作此任务,请刷新后重试!");
//        }
//        // è®¤é¢†ä»»åŠ¡
//        if (!claimTask(flowMyBusiness.getTaskId(), user)) {
//            throw new JeecgBootException("任务不存在、已完成或已被他人认领!");
//        }
//
//        EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId());
//        if (equipment == null) {
//            throw new JeecgBootException("设备不存在,请检查!");
//        }
//
//        ThirdMaintenanceStatusEnum status = ThirdMaintenanceStatusEnum.getInstance(entity.getMaintenanceStatus());
//        if (status == null) {
//            return null;
//        }
//        //流程变量
//        Map<String, Object> values = new HashMap<>();
//        List<String> userApprovalList;
//        List<UserSelector> userSelectors;
//        switch (status) {
//            case UNDER_MAINTENANCE:
//                boolean parallelCompletion = flowTaskService.checkParallelCompletion(flowMyBusiness.getTaskId());
//                //执行完成
//                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006);
//                if (CollectionUtil.isEmpty(userSelectors)) {
//                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
//                }
//                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
//                values.put("dataId", entity.getId());
//                values.put("organization", "三保执行结束");
//                values.put("comment", "三保执行结束");
//                if (parallelCompletion) {
//                    values.put("NextAssignee", userApprovalList);
//                }
//                request.setComment("三保执行结束");
//                //设置entity
//                if (parallelCompletion) {
//                    entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_CONFIRM.name());
//                    entity.setActualEndTime(new Date());
//                }
//                if ("maintenance_execution".equals(flowMyBusiness.getTaskNameId())) {
//                    //执行保养
//                    //处理附件
//                    if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
//                        List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
//                        ObjectMapper mapper = new ObjectMapper();
//                        try {
//                            String referenceFile = mapper.writeValueAsString(fileUploadResultList);
//                            entity.setImageFiles(referenceFile);
//                        } catch (JsonProcessingException e) {
//                            log.error("JSON转换失败:" + e.getMessage(), e);
//                        }
//                    }
//                    //处理详情
//                    if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
//                        thirdMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList());
//                    }
//                } else if ("precision_check".equals(flowMyBusiness.getTaskNameId())) {
//                    entity.setPrecisionChecker(user.getUsername());
//                    entity.setPrecisionCheckTime(new Date());
//                    //处理精度检验
//                    if (CollectionUtil.isNotEmpty(request.getPrecisionDetailList())) {
//                        precisionCheckDetailService.updateBatchById(request.getPrecisionDetailList());
//                    }
//                }
//                if (parallelCompletion) {
//                    //更新设备保养状态
//                    eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.THIRD_MAINTENANCE_WAIT_CONFIRM.name());
//                }
//                break;
//            case WAIT_CONFIRM:
//                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0003);
//                if (CollectionUtil.isEmpty(userSelectors)) {
//                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
//                }
//                //班组长确认
//                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
//                values.put("dataId", entity.getId());
//                values.put("organization", request.getConfirmComment());
//                values.put("comment", request.getConfirmComment());
//                values.put("NextAssignee", userApprovalList);
//                values.put("confirmation", request.getConfirmDealType());
//                request.setComment(request.getConfirmComment());
//                //设置entity
//                entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_LEADER_CONFIRM.name());
//                entity.setConfirmUser(user.getUsername());
//                entity.setConfirmComment(request.getConfirmComment());
//                entity.setConfirmTime(new Date());
//                //处理报修
//                List<EamThirdMaintenanceOrderDetail> collect = request.getTableDetailList().stream().filter((detail) -> CommonConstant.DEFAULT_1.equals(detail.getReportFlag())).collect(Collectors.toList());
//                if (CollectionUtil.isNotEmpty(collect)) {
//                    eamReportRepairService.reportRepairFromThirdMaintenance(equipment.getId(), entity.getOperator(), collect);
//                }
//                break;
//            case WAIT_LEADER_CONFIRM:
//                values.put("dataId", entity.getId());
//                values.put("organization", request.getLeaderConfirmComment());
//                values.put("comment", request.getLeaderConfirmComment());
//                request.setComment(request.getLeaderConfirmComment());
//                //设置entity
//                entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.COMPLETE.name());
//                entity.setConfirmLeader(user.getUsername());
//                entity.setLeaderConfirmComment(request.getLeaderConfirmComment());
//                entity.setLeaderConfirmTime(new Date());
//                //更新设备保养状态
//                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
//                break;
//        }
//        request.setValues(values);
//
//        // å®Œæˆæµç¨‹ä»»åŠ¡
//        Result result = flowTaskService.complete(request);
//        if (!result.isSuccess()) {
//            throw new JeecgBootException("审批失败,请刷新查看!");
//        }
//        //保存工单
//        eamThirdMaintenanceOrderMapper.updateById(entity);
        return entity;
    }
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceSpareServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
import org.jeecg.modules.eam.mapper.EamThirdMaintenanceSpareMapper;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceSpareService;
import org.springframework.stereotype.Service;
/**
 * @Description: ä¸‰ä¿å¤‡ä»¶æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-11
 * @Version: V1.0
 */
@Service
public class EamThirdMaintenanceSpareServiceImpl extends ServiceImpl<EamThirdMaintenanceSpareMapper, EamThirdMaintenanceSpare> implements IEamThirdMaintenanceSpareService {
}
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/rule/WorkShopOrgCodeProRule.java
ÎļþÃû´Ó lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/util/WorkShopOrgCodeProRule.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package org.jeecg.modules.system.util;
package org.jeecg.modules.system.rule;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java
@@ -122,87 +122,47 @@
        String[] levels = path.split("/");
        int depth = levels.length;
        // æ”¯æŒå¤šç§æ ¼å¼ï¼šä¸­å¿ƒ/工区、中心/工段、中心/工区/工段
        // æ”¯æŒæ ¼å¼ï¼šä¸­å¿ƒ/工区、中心/工段、中心/工区/工段
        if (depth < 2 || depth > 3) {
            return null;
        }
        // ä»Žåº•层开始查询:最后一级可能是工区或工段
        String lastName = levels[depth - 1];
        BaseFactory lastLevel = searchForLastLevel(lastName);
        if (lastLevel == null) return null;
        // ä»Žé¡¶å±‚开始查询 - ç¬¬1级:中心节点
        BaseFactory center = findFactory(levels[0], 1, null);
        if (center == null) return null;
        return validatePath(levels, lastLevel);
    }
    private BaseFactory validatePath(String[] levels, BaseFactory lastLevel) {
        if (levels.length == 2) {
            // ä¸­å¿ƒ/工区 æˆ– ä¸­å¿ƒ/工段
            BaseFactory center = findParentCenter(lastLevel);
            if (center != null &&
                    center.getFactoryName().equals(levels[0]) &&
                    ("1").equals(center.getFactoryCategory())) {
                return lastLevel;
        // ç¬¬2级查询:工区或工段
        BaseFactory secondLevel;
        if (depth == 2) {
            // å…¼å®¹æ–¹æ¡ˆï¼šä¼˜å…ˆæŸ¥å·¥æ®µå†æŸ¥å·¥åŒº
            secondLevel = findFactory(levels[1], 3, center.getId());
            if (secondLevel == null) {
                secondLevel = findFactory(levels[1], 2, center.getId());
            }
            return secondLevel; // å¯èƒ½ä¸ºnull
        } else {
            // ä¸­å¿ƒ/工区/工段
            if (!("3").equals(lastLevel.getFactoryCategory())) return null;
            // ç¬¬2级必须是工区
            BaseFactory workArea = findFactory(levels[1], 2, center.getId());
            if (workArea == null) return null;
            BaseFactory workArea = getById(lastLevel.getParentId());
            if (workArea == null ||
                    !("2").equals(workArea.getFactoryCategory())) return null;
            BaseFactory center = getById(workArea.getParentId());
            if (center == null ||
                    !("1").equals(center.getFactoryCategory())) return null;
            if (workArea.getFactoryName().equals(levels[1]) &&
                    center.getFactoryName().equals(levels[0])) {
                return lastLevel;
            }
            // ç¬¬3级:工段
            return findFactory(levels[2], 3, workArea.getId());
        }
        return null;
    }
    private BaseFactory searchForLastLevel(String name) {
        // å…ˆå°è¯•查询工段(类别3)
        BaseFactory workshop = findFactory(name, 3, null);
        if (workshop != null) return workshop;
        // å¦‚果没有找到工段,尝试查询工区(类别2)
        return findFactory(name, 2, null);
    }
    private BaseFactory findParentCenter(BaseFactory entity) {
        if (("1").equals(entity.getFactoryCategory())) {
            return entity; // æœ¬èº«å°±æ˜¯ä¸­å¿ƒ
        }
        BaseFactory parent = getById(entity.getParentId());
        if (parent == null) return null;
        if (("1").equals(parent.getFactoryCategory())) {
            return parent; // ç›´æŽ¥çˆ¶çº§æ˜¯ä¸­å¿ƒ
        }
        // å¦‚果父级不是中心,尝试找父级的父级
        return getById(parent.getParentId());
    }
    // ä¿æŒä¸å˜
    private BaseFactory searchByCodeOrName(String keyword) {
        // ä½¿ç”¨åˆ†é¡µæ–¹å¼å…¼å®¹SQL Server
        LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<>();
        query.and(q -> q.eq(BaseFactory::getFactoryName, keyword)
                .or()
                .like(BaseFactory::getFactoryCode, keyword));
        // ä½¿ç”¨åˆ†é¡µæŸ¥è¯¢èŽ·å–ç¬¬ä¸€æ¡è®°å½•
        Page<BaseFactory> page = new Page<>(1, 1);
        Page<BaseFactory> resultPage = baseMapper.selectPage(page, query);
        return resultPage.getRecords().isEmpty() ? null : resultPage.getRecords().get(0);
    }
    // ä¿æŒä¸å˜
    private BaseFactory findFactory(String name, Integer category, String parentId) {
        LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<>();
        query.eq(BaseFactory::getFactoryName, name);
@@ -210,17 +170,11 @@
        if (category != null) query.eq(BaseFactory::getFactoryCategory, category);
        if (parentId != null) query.eq(BaseFactory::getParentId, parentId);
        // ä½¿ç”¨åˆ†é¡µæ–¹å¼å…¼å®¹SQL Server
        Page<BaseFactory> page = new Page<>(1, 1);
        Page<BaseFactory> resultPage = baseMapper.selectPage(page, query);
        return resultPage.getRecords().isEmpty() ? null : resultPage.getRecords().get(0);
    }
    private BaseFactory getById(String id) {
        if (StringUtils.isBlank(id)) return null;
        return baseMapper.selectById(id);
    }
    /**
     * saveProductionData å¯¹åº” add ä¿å­˜ç”¨æˆ·åœ¨é¡µé¢æ·»åŠ çš„æ–°çš„è®¾å¤‡è½¦é—´ç®¡ç†å¯¹è±¡æ•°æ®
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -796,7 +796,7 @@
            if (CollectionUtil.isNotEmpty(factoryIds)) {
                String factory = String.join(",", factoryIds);
                String inClause = "(" + factory + ")";
                queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in {0}", inClause);
                queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in "+inClause);
            } else {
                return Collections.emptyList();
            }