diff --git a/sql/mysql/mesdata.sql b/sql/mysql/mesdata.sql new file mode 100644 index 0000000000..4bacd54095 --- /dev/null +++ b/sql/mysql/mesdata.sql @@ -0,0 +1,43 @@ + +CREATE TABLE `mes_item_requisition` +( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '编码', + `requisition_date` date COMMENT '下料时间', + `delivery_date` date COMMENT '创建时间', + `status` tinyint DEFAULT '0' COMMENT '状态', + `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '流程实例的编号', + `plan_id` bigint NOT NULL COMMENT '计划ID', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='领料单'; + +CREATE TABLE `mes_item_requisition_detail` +( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `product_id` bigint NOT NULL COMMENT '产品ID', + `unit_id` bigint NOT NULL COMMENT '单位ID', + `item_requisition_id` bigint NOT NULL COMMENT '领料单ID', + `number` decimal(24, 6) DEFAULT NULL COMMENT '数量', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='领料单明细'; + + diff --git a/sql/mysql/record.sql b/sql/mysql/record.sql index 80ef8f0687..d6ee18464b 100644 --- a/sql/mysql/record.sql +++ b/sql/mysql/record.sql @@ -1,289 +1,344 @@ - CREATE TABLE `mes_approve` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', - - `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '签名事项', - `status` tinyint DEFAULT '0' COMMENT '状态', - `user_id` bigint DEFAULT NULL COMMENT '用户id', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '用户名称', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + + `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '签名事项', + `status` tinyint DEFAULT '0' COMMENT '状态', + `user_id` bigint DEFAULT NULL COMMENT '用户id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '用户名称', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='签名记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='签名记录表'; CREATE TABLE `mes_record_template` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '组织id', - `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名称', - `organization_id` bigint NOT NULL DEFAULT '0' COMMENT '组织id', - `machine_id` bigint DEFAULT NULL COMMENT '对应机台id', - `work_team_id` bigint DEFAULT NULL COMMENT '班组id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '结束时间', - `group_manager_approve_id1` bigint DEFAULT NULL COMMENT '组长上午审批id', - `group_manager_approve_id2` bigint DEFAULT NULL COMMENT '组长下午审批id', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '组织id', + `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名称', + `organization_id` bigint NOT NULL DEFAULT '0' COMMENT '组织id', + `machine_id` bigint DEFAULT NULL COMMENT '对应机台id', + `work_team_id` bigint DEFAULT NULL COMMENT '班组id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '结束时间', + `group_manager_approve_id1` bigint DEFAULT NULL COMMENT '组长上午审批id', + `group_manager_approve_id2` bigint DEFAULT NULL COMMENT '组长下午审批id', `production_manager_approve_id1` bigint DEFAULT NULL COMMENT '主管上午审批id', `production_manager_approve_id2` bigint DEFAULT NULL COMMENT '主管下午审批id', - `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '流程实例的编号', + `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '流程实例的编号', - `status` tinyint NOT NULL COMMENT '状态', - `record_type` tinyint NOT NULL COMMENT '记录类型(工序类型)', + `status` tinyint NOT NULL COMMENT '状态', + `record_type` tinyint NOT NULL COMMENT '记录类型(工序类型)', - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='生产记录表模板'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='记录表模板'; CREATE TABLE `mes_record_dajiang` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - `density` decimal(24, 6) DEFAULT NULL COMMENT '浓度%', - `electric_current` decimal(24, 6) DEFAULT NULL COMMENT '电流A', + `density` decimal(24, 6) DEFAULT NULL COMMENT '浓度%', + `electric_current` decimal(24, 6) DEFAULT NULL COMMENT '电流A', `beating_degree_in` decimal(24, 6) DEFAULT NULL COMMENT '进浆叩解度︒SR', - `beating_degree_out` decimal(24, 6) DEFAULT NULL COMMENT '出浆叩解度︒SR', - `wet_weight` decimal(24, 6) DEFAULT NULL COMMENT '湿重', - `density5` decimal(24, 6) DEFAULT NULL COMMENT '5浆罐浓度%', - `jiang_weight` decimal(24, 6) DEFAULT NULL COMMENT '产浆量T', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `beating_degree_out` decimal(24, 6) DEFAULT NULL COMMENT '出浆叩解度︒SR', + `wet_weight` decimal(24, 6) DEFAULT NULL COMMENT '湿重', + `density5` decimal(24, 6) DEFAULT NULL COMMENT '5浆罐浓度%', + `jiang_weight` decimal(24, 6) DEFAULT NULL COMMENT '产浆量T', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='打浆记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='打浆记录表'; CREATE TABLE `mes_record_suijiang` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '组织id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - `suijiang_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '碎浆时间', - `suijiang_cost_time` decimal(24, 6) DEFAULT NULL COMMENT '碎浆时间', - - `ratio_id` bigint DEFAULT NULL COMMENT '原料配比id', - `ratio` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '原料配比', - `water_usage` decimal(24, 6) DEFAULT NULL COMMENT '用水量kg', - `density_out` decimal(24, 6) DEFAULT NULL COMMENT '放浆浓度%', - `add_item_usage` decimal(24, 6) DEFAULT NULL COMMENT '加药量kg', - - `slag_yield` decimal(24, 6) DEFAULT NULL COMMENT '出渣率%', - `density` decimal(24, 6) DEFAULT NULL COMMENT '浓度%', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '组织id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + `suijiang_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '碎浆时间', + `suijiang_cost_time` decimal(24, 6) DEFAULT NULL COMMENT '碎浆时间', + + `ratio_id` bigint DEFAULT NULL COMMENT '原料配比id', + `ratio` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '原料配比', + `water_usage` decimal(24, 6) DEFAULT NULL COMMENT '用水量kg', + `density_out` decimal(24, 6) DEFAULT NULL COMMENT '放浆浓度%', + `add_item_usage` decimal(24, 6) DEFAULT NULL COMMENT '加药量kg', + + `slag_yield` decimal(24, 6) DEFAULT NULL COMMENT '出渣率%', + `density` decimal(24, 6) DEFAULT NULL COMMENT '浓度%', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='碎浆记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='碎浆记录表'; CREATE TABLE `mes_record_chengxing` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - - `xijiang` int NOT NULL COMMENT '吸浆时间(S)', - `tuoshui` int NOT NULL COMMENT '脱水时间(S)', - `ximu` int NOT NULL COMMENT '洗模时间(S)', - `product_id` bigint NOT NULL COMMENT '产品id', - `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '产品外观', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '湿重(g)', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + + `xijiang` int NOT NULL COMMENT '吸浆时间(S)', + `tuoshui` int NOT NULL COMMENT '脱水时间(S)', + `ximu` int NOT NULL COMMENT '洗模时间(S)', + `product_id` bigint NOT NULL COMMENT '产品id', + `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '产品外观', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '湿重(g)', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='成型记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='成型记录表'; CREATE TABLE `mes_record_ganzao` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - - `speed` int NOT NULL COMMENT '速度(赫兹)', - `temperature` int NOT NULL COMMENT '温度℃', - `product_id` bigint NOT NULL COMMENT '产品id', - `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '产品外观', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '产品重量(g)', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + + `speed` int NOT NULL COMMENT '速度(赫兹)', + `temperature` int NOT NULL COMMENT '温度℃', + `product_id` bigint NOT NULL COMMENT '产品id', + `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '产品外观', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '产品重量(g)', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='干燥记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='干燥记录表'; CREATE TABLE `mes_record_jiashi` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - - `machine_start_time` int NOT NULL COMMENT '开机时间(S)', - `machine_end_time` int NOT NULL COMMENT '停机时间(S)', - `wet_time` int NOT NULL COMMENT '加湿时间(S)', - `product_id` bigint NOT NULL COMMENT '产品id', - `weight_in` decimal(24, 6) DEFAULT NULL COMMENT '产品进入水分', - `weight_out` decimal(24, 6) DEFAULT NULL COMMENT '产品取出水分', - `product_number` bigint NOT NULL COMMENT '产量', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + + `machine_start_time` int NOT NULL COMMENT '开机时间(S)', + `machine_end_time` int NOT NULL COMMENT '停机时间(S)', + `wet_time` int NOT NULL COMMENT '加湿时间(S)', + `product_id` bigint NOT NULL COMMENT '产品id', + `weight_in` decimal(24, 6) DEFAULT NULL COMMENT '产品进入水分', + `weight_out` decimal(24, 6) DEFAULT NULL COMMENT '产品取出水分', + `product_number` bigint NOT NULL COMMENT '产量', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='加湿记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='加湿记录表'; CREATE TABLE `mes_record_reya` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - `machine_id` bigint NOT NULL COMMENT '机台', - `reya_time` int NOT NULL COMMENT '热压时间(S)', - `temperature_mold_up` decimal(24, 6) DEFAULT NULL COMMENT '上模温度℃', - `temperature_mold_down` decimal(24, 6) DEFAULT NULL COMMENT '下模温度℃', - `main_stress` decimal(24, 6) DEFAULT NULL COMMENT '主缸压力KG', - - `product_id` bigint NOT NULL COMMENT '产品id', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + `machine_id` bigint NOT NULL COMMENT '机台', + `reya_time` int NOT NULL COMMENT '热压时间(S)', + `temperature_mold_up` decimal(24, 6) DEFAULT NULL COMMENT '上模温度℃', + `temperature_mold_down` decimal(24, 6) DEFAULT NULL COMMENT '下模温度℃', + `main_stress` decimal(24, 6) DEFAULT NULL COMMENT '主缸压力KG', + + `product_id` bigint NOT NULL COMMENT '产品id', `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '外观', - `wet_degree` decimal(24, 6) DEFAULT NULL COMMENT '湿度', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `wet_degree` decimal(24, 6) DEFAULT NULL COMMENT '湿度', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='热压记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='热压记录表'; CREATE TABLE `mes_record_qiebian` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', - `machine_id` bigint NOT NULL COMMENT '机台', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开机时间', + `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '停机时间', + `machine_id` bigint NOT NULL COMMENT '机台', - `product_weight_before` decimal(24, 6) DEFAULT NULL COMMENT '切边前单重g', + `product_weight_before` decimal(24, 6) DEFAULT NULL COMMENT '切边前单重g', - `product_id` bigint NOT NULL COMMENT '产品id', + `product_id` bigint NOT NULL COMMENT '产品id', `appearance` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '外观', - `wet_degree` decimal(24, 6) DEFAULT NULL COMMENT '湿度', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', - `cut_time` int NOT NULL COMMENT '切边时间(S)', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `wet_degree` decimal(24, 6) DEFAULT NULL COMMENT '湿度', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', + `cut_time` int NOT NULL COMMENT '切边时间(S)', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='切边记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='切边记录表'; CREATE TABLE `mes_record_pinjian` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - - `product_id` bigint NOT NULL COMMENT '产品id', - `appearance` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '外观', - `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', - `waterproof` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '防水', - `qualified_number` bigint NOT NULL COMMENT '合格品量', - `unqualified_number` bigint NOT NULL COMMENT '废品量', - `total_number` bigint NOT NULL COMMENT '总产量', - `qualified_rate` decimal(24, 6) DEFAULT NULL COMMENT '合格率%', - `unqualified_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '废品原因', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + + `product_id` bigint NOT NULL COMMENT '产品id', + `appearance` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '外观', + `product_weight` decimal(24, 6) DEFAULT NULL COMMENT '单重(g)', + `waterproof` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '防水', + `qualified_number` bigint NOT NULL COMMENT '合格品量', + `unqualified_number` bigint NOT NULL COMMENT '废品量', + `total_number` bigint NOT NULL COMMENT '总产量', + `qualified_rate` decimal(24, 6) DEFAULT NULL COMMENT '合格率%', + `unqualified_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '废品原因', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='检验记录表'; +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='检验记录表'; CREATE TABLE `mes_record_dabao` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', - `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', - - `product_id` bigint NOT NULL COMMENT '产品id', - `total_number` bigint NOT NULL COMMENT '产量', - `package_item_usage` decimal(24, 6) DEFAULT NULL COMMENT '包装材料用量', - `package_size` bigint NOT NULL COMMENT '每包产品数', - `package_item_specification` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '包装材料规格', - - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', - `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `record_id` bigint NOT NULL DEFAULT '0' COMMENT '记录id', + + `product_id` bigint NOT NULL COMMENT '产品id', + `total_number` bigint NOT NULL COMMENT '产量', + `package_item_usage` decimal(24, 6) DEFAULT NULL COMMENT '包装材料用量', + `package_size` bigint NOT NULL COMMENT '每包产品数', + `package_item_specification` varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '包装材料规格', + + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + `is_enable` bit(1) NOT NULL DEFAULT 1 COMMENT '是否启用', + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='打包记录表'; \ No newline at end of file +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_unicode_ci + ROW_FORMAT = DYNAMIC COMMENT ='打包记录表'; + +-- 菜单 SQL +INSERT INTO system_menu(name, permission, type, sort, parent_id, + path, icon, component, status, component_name) +VALUES ('成型记录', '', 2, 0, 2800, + 'record-template', '', 'mes/record/index', 0, 'RecordTemplate'); + +-- 菜单 SQL +INSERT INTO system_menu(name, permission, type, sort, parent_id, + path, icon, component, status, component_name) +VALUES ('碎浆记录', '', 2, 0, 2800, + 'record-suijiang', '', 'mes/record/SuijiangIndex', 0, 'RecordSuijiang'); diff --git a/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java index 3dd715ffb9..8337535ec4 100644 --- a/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java +++ b/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java @@ -21,5 +21,7 @@ public interface ErrorCodeConstants { ErrorCode PLAN_NOT_EXISTS = new ErrorCode(5_003, "生产计划不存在"); ErrorCode ITEM_REQUISITION_NOT_EXISTS = new ErrorCode(5_004, "生产领料不存在"); - + ErrorCode RECORD_TEMPLATE_NOT_EXISTS = new ErrorCode(5_006, "记录表不存在"); + ErrorCode RECORD_CHENGXING_NOT_EXISTS = new ErrorCode(5_0061, "成型记录不存在"); + ErrorCode RECORD_SUIJIANG_NOT_EXISTS = new ErrorCode(5_0062, "碎浆记录不存在"); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ajreport/package-info.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ajreport/package-info.java deleted file mode 100644 index 7eb12f055a..0000000000 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/ajreport/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package cn.iocoder.yudao.module.mes.controller.admin.ajreport; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/RecordTemplateController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/RecordTemplateController.java new file mode 100644 index 0000000000..66cef08511 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/RecordTemplateController.java @@ -0,0 +1,182 @@ +package cn.iocoder.yudao.module.mes.controller.admin.record; + +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordSuijiangDO; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordChengxingDO; +import cn.iocoder.yudao.module.mes.service.record.RecordTemplateService; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Tag(name = "管理后台 - 记录表") +@RestController +@RequestMapping("/mes/record-template") +@Validated +public class RecordTemplateController { + + @Resource + private RecordTemplateService recordTemplateService; + + @PostMapping("/create") + @Operation(summary = "创建记录表") + @PreAuthorize("@ss.hasPermission('mes:record-template:create')") + public CommonResult createRecordTemplate(@Valid @RequestBody RecordTemplateSaveReqVO createReqVO) { + return success(recordTemplateService.createRecordTemplate(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新记录表") + @PreAuthorize("@ss.hasPermission('mes:record-template:update')") + public CommonResult updateRecordTemplate(@Valid @RequestBody RecordTemplateSaveReqVO updateReqVO) { + recordTemplateService.updateRecordTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除记录表") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('mes:record-template:delete')") + public CommonResult deleteRecordTemplate(@RequestParam("id") Long id) { + recordTemplateService.deleteRecordTemplate(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得记录表") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult getRecordTemplate(@RequestParam("id") Long id) { + RecordTemplateDO recordTemplate = recordTemplateService.getRecordTemplate(id); + return success(BeanUtils.toBean(recordTemplate, RecordTemplateRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得记录表分页") + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult> getRecordTemplatePage(@Valid RecordTemplatePageReqVO pageReqVO) { + PageResult pageResult = recordTemplateService.getRecordTemplatePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RecordTemplateRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出记录表 Excel") + @PreAuthorize("@ss.hasPermission('mes:record-template:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportRecordTemplateExcel(@Valid RecordTemplatePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = recordTemplateService.getRecordTemplatePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "记录表.xls", "数据", RecordTemplateRespVO.class, + BeanUtils.toBean(list, RecordTemplateRespVO.class)); + } +// ==================== 子表(碎浆记录) ==================== + + @GetMapping("/record-suijiang/page") + @Operation(summary = "获得碎浆记录分页") + @Parameter(name = "recordId", description = "组织id") + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult> getRecordSuijiangPage(PageParam pageReqVO, + @RequestParam("recordId") Long recordId) { + return success(recordTemplateService.getRecordSuijiangPage(pageReqVO, recordId)); + } + + @PostMapping("/record-suijiang/create") + @Operation(summary = "创建碎浆记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:create')") + public CommonResult createRecordSuijiang(@Valid @RequestBody RecordSuijiangDO recordSuijiang) { + return success(recordTemplateService.createRecordSuijiang(recordSuijiang)); + } + + @PutMapping("/record-suijiang/update") + @Operation(summary = "更新碎浆记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:update')") + public CommonResult updateRecordSuijiang(@Valid @RequestBody RecordSuijiangDO recordSuijiang) { + recordTemplateService.updateRecordSuijiang(recordSuijiang); + return success(true); + } + + @DeleteMapping("/record-suijiang/delete") + @Parameter(name = "id", description = "编号", required = true) + @Operation(summary = "删除碎浆记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:delete')") + public CommonResult deleteRecordSuijiang(@RequestParam("id") Long id) { + recordTemplateService.deleteRecordSuijiang(id); + return success(true); + } + + @GetMapping("/record-suijiang/get") + @Operation(summary = "获得碎浆记录") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult getRecordSuijiang(@RequestParam("id") Long id) { + return success(recordTemplateService.getRecordSuijiang(id)); + } + + // ==================== 子表(成型记录) ==================== + + @GetMapping("/record-chengxing/page") + @Operation(summary = "获得成型记录分页") + @Parameter(name = "recordId", description = "记录id") + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult> getRecordChengxingPage(PageParam pageReqVO, + @RequestParam("recordId") Long recordId) { + return success(recordTemplateService.getRecordChengxingPage(pageReqVO, recordId)); + } + + @PostMapping("/record-chengxing/create") + @Operation(summary = "创建成型记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:create')") + public CommonResult createRecordChengxing(@Valid @RequestBody RecordChengxingDO recordChengxing) { + return success(recordTemplateService.createRecordChengxing(recordChengxing)); + } + + @PutMapping("/record-chengxing/update") + @Operation(summary = "更新成型记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:update')") + public CommonResult updateRecordChengxing(@Valid @RequestBody RecordChengxingDO recordChengxing) { + recordTemplateService.updateRecordChengxing(recordChengxing); + return success(true); + } + + @DeleteMapping("/record-chengxing/delete") + @Parameter(name = "id", description = "编号", required = true) + @Operation(summary = "删除成型记录") + @PreAuthorize("@ss.hasPermission('mes:record-template:delete')") + public CommonResult deleteRecordChengxing(@RequestParam("id") Long id) { + recordTemplateService.deleteRecordChengxing(id); + return success(true); + } + + @GetMapping("/record-chengxing/get") + @Operation(summary = "获得成型记录") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('mes:record-template:query')") + public CommonResult getRecordChengxing(@RequestParam("id") Long id) { + return success(recordTemplateService.getRecordChengxing(id)); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplatePageReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplatePageReqVO.java new file mode 100644 index 0000000000..b60c42f9d6 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplatePageReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.mes.controller.admin.record.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 记录表分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RecordTemplatePageReqVO extends PageParam { + + @Schema(description = "名称", example = "芋艿") + private String name; + + @Schema(description = "组织id", example = "4004") + private Long organizationId; + + @Schema(description = "对应机台id", example = "30372") + private Long machineId; + + @Schema(description = "班组id", example = "15655") + private Long workTeamId; + + @Schema(description = "开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTime; + + @Schema(description = "结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] endTime; + + @Schema(description = "组长上午审批id") + private Long groupManagerApproveId1; + + @Schema(description = "组长下午审批id") + private Long groupManagerApproveId2; + + @Schema(description = "主管上午审批id") + private Long productionManagerApproveId1; + + @Schema(description = "主管下午审批id") + private Long productionManagerApproveId2; + + @Schema(description = "流程实例的编号", example = "16577") + private String processInstanceId; + + @Schema(description = "状态", example = "2") + private Integer status; + + @Schema(description = "记录类型(工序类型)", example = "1") + private String recordType; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "是否启用") + private Boolean isEnable; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateRespVO.java new file mode 100644 index 0000000000..3aee6cb597 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateRespVO.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.mes.controller.admin.record.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; + +@Schema(description = "管理后台 - 记录表 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RecordTemplateRespVO { + + @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1950") + @ExcelProperty("组织id") + private Long id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("名称") + private String name; + + @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4004") + @ExcelProperty("组织id") + private Long organizationId; + + @Schema(description = "对应机台id", example = "30372") + @ExcelProperty("对应机台id") + private Long machineId; + + @Schema(description = "班组id", example = "15655") + @ExcelProperty("班组id") + private Long workTeamId; + + @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("开始时间") + private LocalDateTime startTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("结束时间") + private LocalDateTime endTime; + + @Schema(description = "组长上午审批id") + @ExcelProperty("组长上午审批id") + private Long groupManagerApproveId1; + + @Schema(description = "组长下午审批id") + @ExcelProperty("组长下午审批id") + private Long groupManagerApproveId2; + + @Schema(description = "主管上午审批id") + @ExcelProperty("主管上午审批id") + private Long productionManagerApproveId1; + + @Schema(description = "主管下午审批id") + @ExcelProperty("主管下午审批id") + private Long productionManagerApproveId2; + + @Schema(description = "流程实例的编号", example = "16577") + @ExcelProperty("流程实例的编号") + private String processInstanceId; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty(value = "状态", converter = DictConvert.class) + @DictFormat("mes_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer status; + + @Schema(description = "记录类型(工序类型)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty(value = "记录类型(工序类型)", converter = DictConvert.class) + @DictFormat("mes_org_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private String recordType; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "是否启用") + @ExcelProperty(value = "是否启用", converter = DictConvert.class) + @DictFormat("infra_boolean_string") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Boolean isEnable; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateSaveReqVO.java new file mode 100644 index 0000000000..65d6f15d3a --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/record/vo/RecordTemplateSaveReqVO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.mes.controller.admin.record.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 记录表新增/修改 Request VO") +@Data +public class RecordTemplateSaveReqVO { + + @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1950") + private Long id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "名称不能为空") + private String name; + + @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4004") + @NotNull(message = "组织id不能为空") + private Long organizationId; + + @Schema(description = "对应机台id", example = "30372") + private Long machineId; + + @Schema(description = "班组id", example = "15655") + private Long workTeamId; + + @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + private LocalDateTime startTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束时间不能为空") + private LocalDateTime endTime; + + @Schema(description = "组长上午审批id") + private Long groupManagerApproveId1; + + @Schema(description = "组长下午审批id") + private Long groupManagerApproveId2; + + @Schema(description = "主管上午审批id") + private Long productionManagerApproveId1; + + @Schema(description = "主管下午审批id") + private Long productionManagerApproveId2; + + @Schema(description = "流程实例的编号", example = "16577") + private String processInstanceId; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "记录类型(工序类型)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "记录类型(工序类型)不能为空") + private String recordType; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "是否启用") + private Boolean isEnable; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/ajreport/package-info.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/ajreport/package-info.java deleted file mode 100644 index f79f3cbf27..0000000000 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package cn.iocoder.yudao.module.mes.dal.dataobject.ajreport; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordChengxingDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordChengxingDO.java new file mode 100644 index 0000000000..87f63e5c5e --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordChengxingDO.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.record; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 成型记录 DO + * + * @author 内蒙必硕 + */ +@TableName("mes_record_chengxing") +@KeySequence("mes_record_chengxing_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RecordChengxingDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 记录id + */ + private Long recordId; + /** + * 开机时间 + */ + private LocalDateTime startTime; + /** + * 停机时间 + */ + private LocalDateTime endTime; + /** + * 吸浆时间(S) + */ + private Integer xijiang; + /** + * 脱水时间(S) + */ + private Integer tuoshui; + /** + * 洗模时间(S) + */ + private Integer ximu; + /** + * 产品id + */ + private Long productId; + /** + * 产品外观 + */ + private String appearance; + /** + * 湿重(g) + */ + private BigDecimal productWeight; + /** + * 备注 + */ + private String remark; + /** + * 是否启用 + * + * 枚举 {@link TODO infra_boolean_string 对应的类} + */ + private Boolean isEnable; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordSuijiangDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordSuijiangDO.java new file mode 100644 index 0000000000..3cb961355e --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordSuijiangDO.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.record; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 碎浆记录 DO + * + * @author 内蒙必硕 + */ +@TableName("mes_record_suijiang") +@KeySequence("mes_record_suijiang_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RecordSuijiangDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 组织id + */ + private Long recordId; + /** + * 开机时间 + */ + private LocalDateTime startTime; + /** + * 停机时间 + */ + private LocalDateTime endTime; + /** + * 碎浆时间 + */ + private LocalDateTime suijiangTime; + /** + * 碎浆时间 + */ + private BigDecimal suijiangCostTime; + /** + * 原料配比id + */ + private Long ratioId; + /** + * 原料配比 + */ + private String ratio; + /** + * 用水量kg + */ + private BigDecimal waterUsage; + /** + * 放浆浓度% + */ + private BigDecimal densityOut; + /** + * 加药量kg + */ + private BigDecimal addItemUsage; + /** + * 出渣率% + */ + private BigDecimal slagYield; + /** + * 浓度% + */ + private BigDecimal density; + /** + * 备注 + */ + private String remark; + /** + * 是否启用 + */ + private Boolean isEnable; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordTemplateDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordTemplateDO.java new file mode 100644 index 0000000000..dafcd4c481 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/record/RecordTemplateDO.java @@ -0,0 +1,99 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.record; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 记录表 DO + * + * @author 内蒙必硕 + */ +@TableName("mes_record_template") +@KeySequence("mes_record_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RecordTemplateDO extends BaseDO { + + /** + * 组织id + */ + @TableId + private Long id; + /** + * 名称 + */ + private String name; + /** + * 组织id + */ + private Long organizationId; + /** + * 对应机台id + */ + private Long machineId; + /** + * 班组id + */ + private Long workTeamId; + /** + * 开始时间 + */ + private LocalDateTime startTime; + /** + * 结束时间 + */ + private LocalDateTime endTime; + /** + * 组长上午审批id + */ + private Long groupManagerApproveId1; + /** + * 组长下午审批id + */ + private Long groupManagerApproveId2; + /** + * 主管上午审批id + */ + private Long productionManagerApproveId1; + /** + * 主管下午审批id + */ + private Long productionManagerApproveId2; + /** + * 流程实例的编号 + */ + private String processInstanceId; + /** + * 状态 + * + * 枚举 {@link TODO mes_record_status 对应的类} + */ + private Integer status; + /** + * 记录类型(工序类型) + * + * 枚举 {@link TODO mes_org_type 对应的类} + */ + private String recordType; + /** + * 备注 + */ + private String remark; + /** + * 是否启用 + * + * 枚举 {@link TODO infra_boolean_string 对应的类} + */ + private Boolean isEnable; + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/ajreport/package-info.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/ajreport/package-info.java deleted file mode 100644 index ea44b293b1..0000000000 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package cn.iocoder.yudao.module.mes.dal.mysql.ajreport; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordChengxingMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordChengxingMapper.java new file mode 100644 index 0000000000..940ae96d84 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordChengxingMapper.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.record; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordChengxingDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 成型记录 Mapper + * + * @author 内蒙必硕 + */ +@Mapper +public interface RecordChengxingMapper extends BaseMapperX { + + default PageResult selectPage(PageParam reqVO, Long recordId) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(RecordChengxingDO::getRecordId, recordId) + .orderByDesc(RecordChengxingDO::getId)); + } + + default int deleteByRecordId(Long recordId) { + return delete(RecordChengxingDO::getRecordId, recordId); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordSuijiangMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordSuijiangMapper.java new file mode 100644 index 0000000000..080d80af8b --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordSuijiangMapper.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.record; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordSuijiangDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 碎浆记录 Mapper + * + * @author 内蒙必硕 + */ +@Mapper +public interface RecordSuijiangMapper extends BaseMapperX { + + default PageResult selectPage(PageParam reqVO, Long recordId) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(RecordSuijiangDO::getRecordId, recordId) + .orderByDesc(RecordSuijiangDO::getId)); + } + + default int deleteByRecordId(Long recordId) { + return delete(RecordSuijiangDO::getRecordId, recordId); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordTemplateMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordTemplateMapper.java new file mode 100644 index 0000000000..829a821788 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/record/RecordTemplateMapper.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.record; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; + +/** + * 记录表 Mapper + * + * @author 内蒙必硕 + */ +@Mapper +public interface RecordTemplateMapper extends BaseMapperX { + + default PageResult selectPage(RecordTemplatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(RecordTemplateDO::getName, reqVO.getName()) + .eqIfPresent(RecordTemplateDO::getOrganizationId, reqVO.getOrganizationId()) + .eqIfPresent(RecordTemplateDO::getMachineId, reqVO.getMachineId()) + .eqIfPresent(RecordTemplateDO::getWorkTeamId, reqVO.getWorkTeamId()) + .betweenIfPresent(RecordTemplateDO::getStartTime, reqVO.getStartTime()) + .betweenIfPresent(RecordTemplateDO::getEndTime, reqVO.getEndTime()) + .eqIfPresent(RecordTemplateDO::getGroupManagerApproveId1, reqVO.getGroupManagerApproveId1()) + .eqIfPresent(RecordTemplateDO::getGroupManagerApproveId2, reqVO.getGroupManagerApproveId2()) + .eqIfPresent(RecordTemplateDO::getProductionManagerApproveId1, reqVO.getProductionManagerApproveId1()) + .eqIfPresent(RecordTemplateDO::getProductionManagerApproveId2, reqVO.getProductionManagerApproveId2()) + .eqIfPresent(RecordTemplateDO::getProcessInstanceId, reqVO.getProcessInstanceId()) + .eqIfPresent(RecordTemplateDO::getStatus, reqVO.getStatus()) + .eqIfPresent(RecordTemplateDO::getRecordType, reqVO.getRecordType()) + .eqIfPresent(RecordTemplateDO::getRemark, reqVO.getRemark()) + .eqIfPresent(RecordTemplateDO::getIsEnable, reqVO.getIsEnable()) + .betweenIfPresent(RecordTemplateDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(RecordTemplateDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ajreport/package-info.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ajreport/package-info.java deleted file mode 100644 index def41426ae..0000000000 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/ajreport/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TODO 芋艿:占位,待删除 - */ -package cn.iocoder.yudao.module.mes.service.ajreport; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateService.java new file mode 100644 index 0000000000..ce1f5a1676 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateService.java @@ -0,0 +1,139 @@ +package cn.iocoder.yudao.module.mes.service.record; + +import java.util.*; +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordSuijiangDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordChengxingDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +import javax.validation.Valid; + +/** + * 记录表 Service 接口 + * + * @author 内蒙必硕 + */ +public interface RecordTemplateService { + + /** + * 创建记录表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createRecordTemplate(@Valid RecordTemplateSaveReqVO createReqVO); + + /** + * 更新记录表 + * + * @param updateReqVO 更新信息 + */ + void updateRecordTemplate(@Valid RecordTemplateSaveReqVO updateReqVO); + + /** + * 删除记录表 + * + * @param id 编号 + */ + void deleteRecordTemplate(Long id); + + /** + * 获得记录表 + * + * @param id 编号 + * @return 记录表 + */ + RecordTemplateDO getRecordTemplate(Long id); + + /** + * 获得记录表分页 + * + * @param pageReqVO 分页查询 + * @return 记录表分页 + */ + PageResult getRecordTemplatePage(RecordTemplatePageReqVO pageReqVO); + // ==================== 子表(碎浆记录) ==================== + + /** + * 获得碎浆记录分页 + * + * @param pageReqVO 分页查询 + * @param recordId 组织id + * @return 碎浆记录分页 + */ + PageResult getRecordSuijiangPage(PageParam pageReqVO, Long recordId); + + /** + * 创建碎浆记录 + * + * @param recordSuijiang 创建信息 + * @return 编号 + */ + Long createRecordSuijiang(@Valid RecordSuijiangDO recordSuijiang); + + /** + * 更新碎浆记录 + * + * @param recordSuijiang 更新信息 + */ + void updateRecordSuijiang(@Valid RecordSuijiangDO recordSuijiang); + + /** + * 删除碎浆记录 + * + * @param id 编号 + */ + void deleteRecordSuijiang(Long id); + + /** + * 获得碎浆记录 + * + * @param id 编号 + * @return 碎浆记录 + */ + RecordSuijiangDO getRecordSuijiang(Long id); + + // ==================== 子表(成型记录) ==================== + + /** + * 获得成型记录分页 + * + * @param pageReqVO 分页查询 + * @param recordId 记录id + * @return 成型记录分页 + */ + PageResult getRecordChengxingPage(PageParam pageReqVO, Long recordId); + + /** + * 创建成型记录 + * + * @param recordChengxing 创建信息 + * @return 编号 + */ + Long createRecordChengxing(@Valid RecordChengxingDO recordChengxing); + + /** + * 更新成型记录 + * + * @param recordChengxing 更新信息 + */ + void updateRecordChengxing(@Valid RecordChengxingDO recordChengxing); + + /** + * 删除成型记录 + * + * @param id 编号 + */ + void deleteRecordChengxing(Long id); + + /** + * 获得成型记录 + * + * @param id 编号 + * @return 成型记录 + */ + RecordChengxingDO getRecordChengxing(Long id); + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImpl.java new file mode 100644 index 0000000000..3813288d41 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImpl.java @@ -0,0 +1,172 @@ +package cn.iocoder.yudao.module.mes.service.record; + +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordSuijiangDO; +import cn.iocoder.yudao.module.mes.dal.mysql.record.RecordSuijiangMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordChengxingDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.mes.dal.mysql.record.RecordTemplateMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.record.RecordChengxingMapper; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +/** + * 记录表 Service 实现类 + * + * @author 内蒙必硕 + */ +@Service +@Validated +public class RecordTemplateServiceImpl implements RecordTemplateService { + + @Resource + private RecordTemplateMapper recordTemplateMapper; + @Resource + private RecordChengxingMapper recordChengxingMapper; + @Resource + private RecordSuijiangMapper recordSuijiangMapper; + @Override + public Long createRecordTemplate(RecordTemplateSaveReqVO createReqVO) { + // 插入 + RecordTemplateDO recordTemplate = BeanUtils.toBean(createReqVO, RecordTemplateDO.class); + recordTemplateMapper.insert(recordTemplate); + // 返回 + return recordTemplate.getId(); + } + + @Override + public void updateRecordTemplate(RecordTemplateSaveReqVO updateReqVO) { + // 校验存在 + validateRecordTemplateExists(updateReqVO.getId()); + // 更新 + RecordTemplateDO updateObj = BeanUtils.toBean(updateReqVO, RecordTemplateDO.class); + recordTemplateMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteRecordTemplate(Long id) { + // 校验存在 + validateRecordTemplateExists(id); + // 删除 + recordTemplateMapper.deleteById(id); + + // 删除子表 + deleteRecordChengxingByRecordId(id); + } + + private void validateRecordTemplateExists(Long id) { + if (recordTemplateMapper.selectById(id) == null) { + throw exception(RECORD_TEMPLATE_NOT_EXISTS); + } + } + + @Override + public RecordTemplateDO getRecordTemplate(Long id) { + return recordTemplateMapper.selectById(id); + } + + @Override + public PageResult getRecordTemplatePage(RecordTemplatePageReqVO pageReqVO) { + return recordTemplateMapper.selectPage(pageReqVO); + } +// ==================== 子表(碎浆记录) ==================== + + @Override + public PageResult getRecordSuijiangPage(PageParam pageReqVO, Long recordId) { + return recordSuijiangMapper.selectPage(pageReqVO, recordId); + } + + @Override + public Long createRecordSuijiang(RecordSuijiangDO recordSuijiang) { + recordSuijiangMapper.insert(recordSuijiang); + return recordSuijiang.getId(); + } + + @Override + public void updateRecordSuijiang(RecordSuijiangDO recordSuijiang) { + // 校验存在 + validateRecordSuijiangExists(recordSuijiang.getId()); + // 更新 + recordSuijiangMapper.updateById(recordSuijiang); + } + + @Override + public void deleteRecordSuijiang(Long id) { + // 校验存在 + validateRecordSuijiangExists(id); + // 删除 + recordSuijiangMapper.deleteById(id); + } + + @Override + public RecordSuijiangDO getRecordSuijiang(Long id) { + return recordSuijiangMapper.selectById(id); + } + + private void validateRecordSuijiangExists(Long id) { + if (recordSuijiangMapper.selectById(id) == null) { + throw exception(RECORD_SUIJIANG_NOT_EXISTS); + } + } + + private void deleteRecordSuijiangByRecordId(Long recordId) { + recordSuijiangMapper.deleteByRecordId(recordId); + } + // ==================== 子表(成型记录) ==================== + + @Override + public PageResult getRecordChengxingPage(PageParam pageReqVO, Long recordId) { + return recordChengxingMapper.selectPage(pageReqVO, recordId); + } + + @Override + public Long createRecordChengxing(RecordChengxingDO recordChengxing) { + recordChengxingMapper.insert(recordChengxing); + return recordChengxing.getId(); + } + + @Override + public void updateRecordChengxing(RecordChengxingDO recordChengxing) { + // 校验存在 + validateRecordChengxingExists(recordChengxing.getId()); + // 更新 + recordChengxingMapper.updateById(recordChengxing); + } + + @Override + public void deleteRecordChengxing(Long id) { + // 校验存在 + validateRecordChengxingExists(id); + // 删除 + recordChengxingMapper.deleteById(id); + } + + @Override + public RecordChengxingDO getRecordChengxing(Long id) { + return recordChengxingMapper.selectById(id); + } + + private void validateRecordChengxingExists(Long id) { + if (recordChengxingMapper.selectById(id) == null) { + throw exception(RECORD_CHENGXING_NOT_EXISTS); + } + } + + private void deleteRecordChengxingByRecordId(Long recordId) { + recordChengxingMapper.deleteByRecordId(recordId); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/record/RecordTemplateMapper.xml b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/record/RecordTemplateMapper.xml new file mode 100644 index 0000000000..912b189744 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/record/RecordTemplateMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordSuijiangServiceImplTest.java b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordSuijiangServiceImplTest.java new file mode 100644 index 0000000000..b19f5c514c --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordSuijiangServiceImplTest.java @@ -0,0 +1,188 @@ +package cn.iocoder.yudao.module.mes.service.record; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import cn.iocoder.yudao.module.mes.dal.mysql.record.RecordTemplateMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.springframework.context.annotation.Import; + +import javax.annotation.Resource; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link RecordTemplateServiceImpl} 的单元测试类 + * + * @author 内蒙必硕 + */ +@Import(RecordTemplateServiceImpl.class) +public class RecordSuijiangServiceImplTest extends BaseDbUnitTest { + + @Resource + private RecordTemplateServiceImpl recordTemplateService; + + @Resource + private RecordTemplateMapper recordTemplateMapper; + + @Test + public void testCreateRecordTemplate_success() { + // 准备参数 + RecordTemplateSaveReqVO createReqVO = randomPojo(RecordTemplateSaveReqVO.class).setId(null); + + // 调用 + Long recordTemplateId = recordTemplateService.createRecordTemplate(createReqVO); + // 断言 + assertNotNull(recordTemplateId); + // 校验记录的属性是否正确 + RecordTemplateDO recordTemplate = recordTemplateMapper.selectById(recordTemplateId); + assertPojoEquals(createReqVO, recordTemplate, "id"); + } + + @Test + public void testUpdateRecordTemplate_success() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class); + recordTemplateMapper.insert(dbRecordTemplate);// @Sql: 先插入出一条存在的数据 + // 准备参数 + RecordTemplateSaveReqVO updateReqVO = randomPojo(RecordTemplateSaveReqVO.class, o -> { + o.setId(dbRecordTemplate.getId()); // 设置更新的 ID + }); + + // 调用 + recordTemplateService.updateRecordTemplate(updateReqVO); + // 校验是否更新正确 + RecordTemplateDO recordTemplate = recordTemplateMapper.selectById(updateReqVO.getId()); // 获取最新的 + assertPojoEquals(updateReqVO, recordTemplate); + } + + @Test + public void testUpdateRecordTemplate_notExists() { + // 准备参数 + RecordTemplateSaveReqVO updateReqVO = randomPojo(RecordTemplateSaveReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> recordTemplateService.updateRecordTemplate(updateReqVO), RECORD_TEMPLATE_NOT_EXISTS); + } + + @Test + public void testDeleteRecordTemplate_success() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class); + recordTemplateMapper.insert(dbRecordTemplate);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbRecordTemplate.getId(); + + // 调用 + recordTemplateService.deleteRecordTemplate(id); + // 校验数据不存在了 + assertNull(recordTemplateMapper.selectById(id)); + } + + @Test + public void testDeleteRecordTemplate_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> recordTemplateService.deleteRecordTemplate(id), RECORD_TEMPLATE_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetRecordTemplatePage() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class, o -> { // 等会查询到 + o.setName(null); + o.setOrganizationId(null); + o.setMachineId(null); + o.setWorkTeamId(null); + o.setStartTime(null); + o.setEndTime(null); + o.setGroupManagerApproveId1(null); + o.setGroupManagerApproveId2(null); + o.setProductionManagerApproveId1(null); + o.setProductionManagerApproveId2(null); + o.setProcessInstanceId(null); + o.setStatus(null); + o.setRecordType(null); + o.setRemark(null); + o.setIsEnable(null); + o.setCreateTime(null); + }); + recordTemplateMapper.insert(dbRecordTemplate); + // 测试 name 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setName(null))); + // 测试 organizationId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setOrganizationId(null))); + // 测试 machineId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setMachineId(null))); + // 测试 workTeamId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setWorkTeamId(null))); + // 测试 startTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setStartTime(null))); + // 测试 endTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setEndTime(null))); + // 测试 groupManagerApproveId1 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setGroupManagerApproveId1(null))); + // 测试 groupManagerApproveId2 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setGroupManagerApproveId2(null))); + // 测试 productionManagerApproveId1 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProductionManagerApproveId1(null))); + // 测试 productionManagerApproveId2 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProductionManagerApproveId2(null))); + // 测试 processInstanceId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProcessInstanceId(null))); + // 测试 status 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setStatus(null))); + // 测试 recordType 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setRecordType(null))); + // 测试 remark 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setRemark(null))); + // 测试 isEnable 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setIsEnable(null))); + // 测试 createTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setCreateTime(null))); + // 准备参数 + RecordTemplatePageReqVO reqVO = new RecordTemplatePageReqVO(); + reqVO.setName(null); + reqVO.setOrganizationId(null); + reqVO.setMachineId(null); + reqVO.setWorkTeamId(null); + reqVO.setStartTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setEndTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setGroupManagerApproveId1(null); + reqVO.setGroupManagerApproveId2(null); + reqVO.setProductionManagerApproveId1(null); + reqVO.setProductionManagerApproveId2(null); + reqVO.setProcessInstanceId(null); + reqVO.setStatus(null); + reqVO.setRecordType(null); + reqVO.setRemark(null); + reqVO.setIsEnable(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = recordTemplateService.getRecordTemplatePage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbRecordTemplate, pageResult.getList().get(0)); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImplTest.java b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImplTest.java new file mode 100644 index 0000000000..1eae636825 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/record/RecordTemplateServiceImplTest.java @@ -0,0 +1,188 @@ +package cn.iocoder.yudao.module.mes.service.record; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*; +import cn.iocoder.yudao.module.mes.dal.dataobject.record.RecordTemplateDO; +import cn.iocoder.yudao.module.mes.dal.mysql.record.RecordTemplateMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.springframework.context.annotation.Import; + +import javax.annotation.Resource; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link RecordTemplateServiceImpl} 的单元测试类 + * + * @author 内蒙必硕 + */ +@Import(RecordTemplateServiceImpl.class) +public class RecordTemplateServiceImplTest extends BaseDbUnitTest { + + @Resource + private RecordTemplateServiceImpl recordTemplateService; + + @Resource + private RecordTemplateMapper recordTemplateMapper; + + @Test + public void testCreateRecordTemplate_success() { + // 准备参数 + RecordTemplateSaveReqVO createReqVO = randomPojo(RecordTemplateSaveReqVO.class).setId(null); + + // 调用 + Long recordTemplateId = recordTemplateService.createRecordTemplate(createReqVO); + // 断言 + assertNotNull(recordTemplateId); + // 校验记录的属性是否正确 + RecordTemplateDO recordTemplate = recordTemplateMapper.selectById(recordTemplateId); + assertPojoEquals(createReqVO, recordTemplate, "id"); + } + + @Test + public void testUpdateRecordTemplate_success() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class); + recordTemplateMapper.insert(dbRecordTemplate);// @Sql: 先插入出一条存在的数据 + // 准备参数 + RecordTemplateSaveReqVO updateReqVO = randomPojo(RecordTemplateSaveReqVO.class, o -> { + o.setId(dbRecordTemplate.getId()); // 设置更新的 ID + }); + + // 调用 + recordTemplateService.updateRecordTemplate(updateReqVO); + // 校验是否更新正确 + RecordTemplateDO recordTemplate = recordTemplateMapper.selectById(updateReqVO.getId()); // 获取最新的 + assertPojoEquals(updateReqVO, recordTemplate); + } + + @Test + public void testUpdateRecordTemplate_notExists() { + // 准备参数 + RecordTemplateSaveReqVO updateReqVO = randomPojo(RecordTemplateSaveReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> recordTemplateService.updateRecordTemplate(updateReqVO), RECORD_TEMPLATE_NOT_EXISTS); + } + + @Test + public void testDeleteRecordTemplate_success() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class); + recordTemplateMapper.insert(dbRecordTemplate);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbRecordTemplate.getId(); + + // 调用 + recordTemplateService.deleteRecordTemplate(id); + // 校验数据不存在了 + assertNull(recordTemplateMapper.selectById(id)); + } + + @Test + public void testDeleteRecordTemplate_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> recordTemplateService.deleteRecordTemplate(id), RECORD_TEMPLATE_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetRecordTemplatePage() { + // mock 数据 + RecordTemplateDO dbRecordTemplate = randomPojo(RecordTemplateDO.class, o -> { // 等会查询到 + o.setName(null); + o.setOrganizationId(null); + o.setMachineId(null); + o.setWorkTeamId(null); + o.setStartTime(null); + o.setEndTime(null); + o.setGroupManagerApproveId1(null); + o.setGroupManagerApproveId2(null); + o.setProductionManagerApproveId1(null); + o.setProductionManagerApproveId2(null); + o.setProcessInstanceId(null); + o.setStatus(null); + o.setRecordType(null); + o.setRemark(null); + o.setIsEnable(null); + o.setCreateTime(null); + }); + recordTemplateMapper.insert(dbRecordTemplate); + // 测试 name 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setName(null))); + // 测试 organizationId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setOrganizationId(null))); + // 测试 machineId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setMachineId(null))); + // 测试 workTeamId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setWorkTeamId(null))); + // 测试 startTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setStartTime(null))); + // 测试 endTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setEndTime(null))); + // 测试 groupManagerApproveId1 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setGroupManagerApproveId1(null))); + // 测试 groupManagerApproveId2 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setGroupManagerApproveId2(null))); + // 测试 productionManagerApproveId1 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProductionManagerApproveId1(null))); + // 测试 productionManagerApproveId2 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProductionManagerApproveId2(null))); + // 测试 processInstanceId 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setProcessInstanceId(null))); + // 测试 status 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setStatus(null))); + // 测试 recordType 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setRecordType(null))); + // 测试 remark 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setRemark(null))); + // 测试 isEnable 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setIsEnable(null))); + // 测试 createTime 不匹配 + recordTemplateMapper.insert(cloneIgnoreId(dbRecordTemplate, o -> o.setCreateTime(null))); + // 准备参数 + RecordTemplatePageReqVO reqVO = new RecordTemplatePageReqVO(); + reqVO.setName(null); + reqVO.setOrganizationId(null); + reqVO.setMachineId(null); + reqVO.setWorkTeamId(null); + reqVO.setStartTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setEndTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setGroupManagerApproveId1(null); + reqVO.setGroupManagerApproveId2(null); + reqVO.setProductionManagerApproveId1(null); + reqVO.setProductionManagerApproveId2(null); + reqVO.setProcessInstanceId(null); + reqVO.setStatus(null); + reqVO.setRecordType(null); + reqVO.setRemark(null); + reqVO.setIsEnable(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = recordTemplateService.getRecordTemplatePage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbRecordTemplate, pageResult.getList().get(0)); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/clean.sql b/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/clean.sql index 9bd7dad815..c48f494328 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/clean.sql +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/clean.sql @@ -14,4 +14,36 @@ DELETE FROM "mes_plan"; DELETE FROM "mes_item_requisition_detail"; -DELETE FROM "mes_item_requisition"; \ No newline at end of file +DELETE FROM "mes_item_requisition"; + +-- 将该删表 SQL 语句,添加到 yudao-module-mes-biz 模块的 test/resources/sql/clean.sql 文件里 +DELETE FROM "mes_record_template"; + +-- 将该删表 SQL 语句,添加到 yudao-module-mes-biz 模块的 test/resources/sql/clean.sql 文件里 +DELETE FROM "mes_record_chengxing"; + +-- 将该删表 SQL 语句,添加到 yudao-module-mes-biz 模块的 test/resources/sql/clean.sql 文件里 +DELETE FROM "mes_record_suijiang"; + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/create_tables.sql b/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/create_tables.sql index 21281036ae..8075d02a5b 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/create_tables.sql +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/resources/sql/create_tables.sql @@ -55,101 +55,179 @@ CREATE TABLE IF NOT EXISTS "mes_organization" "updater" varchar DEFAULT '', "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint , + "tenant_id" bigint, PRIMARY KEY ("id") ) COMMENT '工厂组织表'; -CREATE TABLE IF NOT EXISTS "mes_task" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "code" varchar NOT NULL, - "order_date" varchar, - "delivery_date" varchar NOT NULL, - "status" int NOT NULL, - "process_instance_id" varchar, - "remark" varchar, - "is_enable" bit NOT NULL, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint, - PRIMARY KEY ("id") +CREATE TABLE IF NOT EXISTS "mes_task" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "code" varchar NOT NULL, + "order_date" varchar, + "delivery_date" varchar NOT NULL, + "status" int NOT NULL, + "process_instance_id" varchar, + "remark" varchar, + "is_enable" bit NOT NULL, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint, + PRIMARY KEY ("id") ) COMMENT '生产任务单'; -CREATE TABLE IF NOT EXISTS "mes_task_detail" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "product_id" bigint NOT NULL, - "unit_id" bigint NOT NULL, - "task_id" bigint NOT NULL, - "number" bigint NOT NULL, - "package_size" bigint NOT NULL, - "project_name" varchar, - "tech_requirements" varchar, - "remark" varchar, - "is_enable" bit, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint, - PRIMARY KEY ("id") +CREATE TABLE IF NOT EXISTS "mes_task_detail" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "product_id" bigint NOT NULL, + "unit_id" bigint NOT NULL, + "task_id" bigint NOT NULL, + "number" bigint NOT NULL, + "package_size" bigint NOT NULL, + "project_name" varchar, + "tech_requirements" varchar, + "remark" varchar, + "is_enable" bit, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint, + PRIMARY KEY ("id") ) COMMENT '生产任务单明细'; -CREATE TABLE IF NOT EXISTS "mes_plan" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "code" varchar, - "product_id" bigint NOT NULL, - "task_detail_id" bigint NOT NULL, - "task_id" bigint NOT NULL, - "plan_number" bigint NOT NULL, - "finish_number" bigint, - "status" int NOT NULL, - "plan_start_time" varchar NOT NULL, - "plan_end_time" varchar NOT NULL, - "start_time" varchar NOT NULL, - "end_time" varchar NOT NULL, - "production_manager_id" bigint, - "remark" varchar, - "is_enable" bit, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint, - PRIMARY KEY ("id") +CREATE TABLE IF NOT EXISTS "mes_plan" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "code" varchar, + "product_id" bigint NOT NULL, + "task_detail_id" bigint NOT NULL, + "task_id" bigint NOT NULL, + "plan_number" bigint NOT NULL, + "finish_number" bigint, + "status" int NOT NULL, + "plan_start_time" varchar NOT NULL, + "plan_end_time" varchar NOT NULL, + "start_time" varchar NOT NULL, + "end_time" varchar NOT NULL, + "production_manager_id" bigint, + "remark" varchar, + "is_enable" bit, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint, + PRIMARY KEY ("id") ) COMMENT '生产计划'; -CREATE TABLE IF NOT EXISTS "mes_item_requisition_detail" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "product_id" bigint NOT NULL, - "unit_id" bigint NOT NULL, - "item_requisition_id" bigint NOT NULL, - "number" varchar, - "remark" varchar, - "is_enable" bit, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint, - PRIMARY KEY ("id") +CREATE TABLE IF NOT EXISTS "mes_item_requisition_detail" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "product_id" bigint NOT NULL, + "unit_id" bigint NOT NULL, + "item_requisition_id" bigint NOT NULL, + "number" varchar, + "remark" varchar, + "is_enable" bit, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint, + PRIMARY KEY ("id") ) COMMENT '领料明细'; -CREATE TABLE IF NOT EXISTS "mes_item_requisition" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "code" varchar NOT NULL, - "requisition_date" varchar, - "delivery_date" varchar, - "status" int, - "process_instance_id" varchar, - "plan_id" bigint NOT NULL, - "remark" varchar, - "is_enable" bit NOT NULL, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint, - PRIMARY KEY ("id") +CREATE TABLE IF NOT EXISTS "mes_item_requisition" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "code" varchar NOT NULL, + "requisition_date" varchar, + "delivery_date" varchar, + "status" int, + "process_instance_id" varchar, + "plan_id" bigint NOT NULL, + "remark" varchar, + "is_enable" bit NOT NULL, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint, + PRIMARY KEY ("id") ) COMMENT '生产领料'; +CREATE TABLE IF NOT EXISTS "mes_record_template" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "name" varchar NOT NULL, + "organization_id" bigint NOT NULL, + "machine_id" bigint, + "work_team_id" bigint, + "start_time" varchar NOT NULL, + "end_time" varchar NOT NULL, + "group_manager_approve_id1" bigint, + "group_manager_approve_id2" bigint, + "production_manager_approve_id1" bigint, + "production_manager_approve_id2" bigint, + "process_instance_id" varchar, + "status" int NOT NULL, + "record_type" varchar NOT NULL, + "remark" varchar, + "is_enable" bit, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint , + PRIMARY KEY ("id") +) COMMENT '记录表模板'; +CREATE TABLE IF NOT EXISTS "mes_record_chengxing" +( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "record_id" bigint NOT NULL, + "start_time" varchar, + "end_time" varchar, + "xijiang" int NOT NULL, + "tuoshui" int NOT NULL, + "ximu" int NOT NULL, + "product_id" bigint NOT NULL, + "appearance" varchar NOT NULL, + "product_weight" varchar NOT NULL, + "remark" varchar, + "is_enable" bit, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint , + PRIMARY KEY ("id") +) COMMENT '成型记录表'; +CREATE TABLE IF NOT EXISTS "mes_record_suijiang" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "record_id" bigint NOT NULL, + "start_time" varchar NOT NULL, + "end_time" varchar NOT NULL, + "suijiang_time" varchar NOT NULL, + "suijiang_cost_time" varchar, + "ratio_id" bigint, + "ratio" varchar, + "water_usage" varchar, + "density_out" varchar, + "add_item_usage" varchar, + "slag_yield" varchar, + "density" varchar, + "remark" varchar, + "is_enable" bit NOT NULL, + "creator" varchar DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint NOT NULL, + PRIMARY KEY ("id") +) COMMENT '碎浆记录表'; + diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index 0a137554a2..4154ac454f 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -64,7 +64,7 @@ spring: # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 redis: - host: 47.106.185.127 # 地址 + host: localhost # 地址 port: 6379 # 端口 database: 0 # 数据库索引 #password: bkcaydy8ydhZZnS2 # 密码,建议生产环境开启